1
Быстрый Заказ - Список Товаров
Автор sandra.005@mail.ru, 17 окт. 2014 19:13
Сообщений в теме: 9
#1
Отправлено 17 Октябрь 2014 - 19:13
Здравствуйте! Подскажите пожалуйста как сделать чтобы на всплывающем окне быстрого заказа отображался список товаров добавленных в корзину.
#2
Отправлено 18 Октябрь 2014 - 00:48
В шаблоне "Быстрый заказ" найдите строку
и замените её на код
<form action="{ORDER_STAGE_CONFIRM_URL}" method="post" id="quickform">
и замените её на код
<form action="{CART_URL}" method="post" class="cartForm"> <div> <input type="hidden" name="hash" value="{HASH}" /> <table class="cartFormTable"> <thead class="cartFormThead"> <tr> <th colspan="2">Наименование</th> <th>Кол-во</th> <th>Цена</th> <th>Общая сумма</th> </tr> </thead> <tbody class="cartFormTbody"> {% FOR cart_items %} <tr> <td class="cell1"> <a href="{cart_items.GOODS_URL}"><img class="goods-image-icon" src="{% IF cart_items.GOODS_IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-icon.png{% ELSE %}{cart_items.GOODS_IMAGE_ICON}{% ENDIF %}"></a> </td> <td class="cell2"> <a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader"> {cart_items.GOODS_NAME} <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара --> {% IFNOT cart_items.distinctive_properties_empty %}<span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>{% ENDIF %} </a> <!-- Путь к категории, из которой заказали товара --> <div class="cartFormTbodyNavigate"> <a href="http://{NET_DOMAIN}/">Главная</a> {% FOR catalog_path %} » <a href="{cart_items.catalog_path.URL}" >{cart_items.catalog_path.NAME}</a> {% ENDFOR %} </div> </td> <td class="cell3"> {cart_items.ORDER_LINE_QUANTITY} {cart_items.GOODS_MOD_MEASURE_NAME} </td> <td class="cell4 num"> {cart_items.GOODS_MOD_PRICE_NOW | money_format} </td> <td class="cell5 num"> {cart_items.ORDER_LINE_PRICE_NOW | money_format} </td> </tr> {% ENDFOR %} </tbody> <tfoot class="cartFormTfoot"> <tr> <td colspan="4" class="cartFormTfootSum"> <table class="cartFormTfootSumTable"> <tr> <td class="cell1">Итого: </td> <td class="cell2"> {% FOR cart_sum %} {cart_sum.NOW | money_format}<br /> {% ENDFOR %} </td> </tr> </table> </td> </tr> </tfoot> </table> </div> </form> <form action="{ORDER_STAGE_CONFIRM_URL}" method="post" id="quickform">
#3
Отправлено 18 Октябрь 2014 - 09:08
Спасибо! Подскажите пожалуйста как в появляющемся списке сделать так чтобы можно было удалить товары из корзины и изменять количество позиций
#4
Отправлено 20 Октябрь 2014 - 09:23
Уважаемая администрация, ответьте пожалуйста.
#5
Отправлено 21 Октябрь 2014 - 00:30
Используйте следующий код вместо ранее предложенного
<form action="{CART_URL}" method="post" class="cartForm quick"> <div> <input type="hidden" name="hash" value="{HASH}" /> <table class="cartFormTable"> <thead class="cartFormThead"> <tr> <th colspan="2">Наименование</th> <th>Кол-во</th> <th>Цена</th> <th>Общая сумма</th> <th>Удалить</th> </tr> </thead> <tbody class="cartFormTbody"> {% FOR cart_items %} <tr> <td class="cell1"> <a href="{cart_items.GOODS_URL}"><img class="goods-image-icon" src="{% IF cart_items.GOODS_IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-icon.png{% ELSE %}{cart_items.GOODS_IMAGE_ICON}{% ENDIF %}"></a> </td> <td class="cell2"> <a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader"> {cart_items.GOODS_NAME} <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара --> {% IFNOT cart_items.distinctive_properties_empty %}<span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>{% ENDIF %} </a> <!-- Путь к категории, из которой заказали товара --> <div class="cartFormTbodyNavigate"> <a href="http://{NET_DOMAIN}/">Главная</a> {% FOR catalog_path %} » <a href="{cart_items.catalog_path.URL}" >{cart_items.catalog_path.NAME}</a> {% ENDFOR %} </div> </td> <td class="cell3"> <input name="form[quantity][{cart_items.GOODS_MOD_ID}]" value="{cart_items.ORDER_LINE_QUANTITY}" /> {cart_items.GOODS_MOD_MEASURE_NAME} </td> <td class="cell4 num"> {cart_items.GOODS_MOD_PRICE_NOW | money_format} </td> <td class="cell5 num"> {cart_items.ORDER_LINE_PRICE_NOW | money_format} </td> <td class="cell6"> <a href="{cart_items.ORDER_LINE_DELETE_URL}" class="cartItemDelete"><img src="{ASSETS_IMAGES_PATH}cartDelete.png" /></a> </td> </tr> {% ENDFOR %} </tbody> <tfoot class="cartFormTfoot"> <tr> <td colspan="2" class="cartFormTfootTruncate"><a href="{CART_TRUNCATE_URL}" onclick="return confirm('Вы действительно хотите удалить все товары из корзины?')">Очистить корзину</a></td> <td colspan="4" class="cartFormTfootSum"> <table class="cartFormTfootSumTable"> <tr> <td class="cell1">Итого: </td> <td class="cell2"> {% FOR cart_sum %} {cart_sum.NOW | money_format}<br /> {% ENDFOR %} </td> </tr> </table> </td> </tr> <tr> <td colspan="6" class="cartFormTfootButtons"><br /><input class="more-link onlybutton" type="submit" value="Пересчитать"></td> </tr> </tfoot> </table> </div> </form> <script> $(function() { $('.cartForm.quick').submit(function() { $.post($(this).attr('action'), $(this).serializeArray(), function(content) { $('.cartForm.quick').html($(content).find('.cartForm').html()); }); return (false); }); $('.cartForm.quick .cartItemDelete').live('click', function() { $.get($(this).attr('href'), function() { $('.cartForm.quick').trigger('submit'); }); return (false); }); }); </script> <form action="{ORDER_STAGE_CONFIRM_URL}" method="post" id="quickform">
#6
Отправлено 21 Октябрь 2014 - 10:34
Добавила, при попытке любых изменений перебрасывает в форму обычного заказа. Как сделать чтобы все изменения можно было внести оставаясь в форме быстрого заказа
#7
Отправлено 22 Октябрь 2014 - 00:49
Найдите в шаблоне "Быстрый заказ" следующий код
и замените его на
Перед проверкой не забудьте очистить кэш в вашем браузере.
<script> $(function() { $('.cartForm.quick').submit(function() { $.post($(this).attr('action'), $(this).serializeArray(), function(content) { $('.cartForm.quick').html($(content).find('.cartForm').html()); }); return (false); }); $('.cartForm.quick .cartItemDelete').live('click', function() { $.get($(this).attr('href'), function() { $('.cartForm.quick').trigger('submit'); }); return (false); }); }); </script>
и замените его на
<script> $(function() { setTimeout(function() { $('.cartForm.quick').submit(function() { $.post($(this).attr('action'), $(this).serializeArray(), function(content) { $('.cartForm.quick').html($(content).find('.cartForm').html()); }); return (false); }); $('.cartForm.quick .cartItemDelete').live('click', function() { $.get($(this).attr('href'), function() { $('.cartForm.quick').trigger('submit'); }); return (false); }); }, 800); }); </script>
Перед проверкой не забудьте очистить кэш в вашем браузере.
#8
Отправлено 22 Октябрь 2014 - 11:44
Произошли следующие изменения: можно менять количество товаров сколько угодно и из формы быстрого заказа не выбрасывает. Можно удалить из корзины 1 товар и из формы быстрого заказа также не выбрасывает. Но если удалить ещё 1 товар - то система опять перебрасывает из формы быстрого заказа в форму обычного заказа.
#9
Отправлено 23 Октябрь 2014 - 00:37
Найдите в шаблоне "Корзина" строку
и замените её на
<a href="{cart_items.ORDER_LINE_DELETE_URL}"><img src="{ASSETS_IMAGES_PATH}cartDelete.png" /></a>
и замените её на
<a href="{cart_items.ORDER_LINE_DELETE_URL}" class="cartItemDelete"><img src="{ASSETS_IMAGES_PATH}cartDelete.png" /></a>
#10
Отправлено 23 Октябрь 2014 - 08:35
Всё работает, спасибо.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных