Работа с корзиной без перезагрузки TPL — различия между версиями
Romario (обсуждение | вклад) (Новая страница: «Корзина без перезагрузки в TPL шаблонизаторе. Самый простой и удобный способ реализовать …») |
Romario (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
Пример: | Пример: | ||
− | |||
<source lang="javascript"> | <source lang="javascript"> | ||
<script type="text/javascript" src="/js/site/__common.js"></script> | <script type="text/javascript" src="/js/site/__common.js"></script> | ||
Строка 17: | Строка 16: | ||
Скрипту работает таким образом, что ищет необходимый элемент по ID и классу ссылки. По этому ссылка на добавление товара должна иметь следующий вид (если не модифицировать сам скрипт): | Скрипту работает таким образом, что ищет необходимый элемент по ID и классу ссылки. По этому ссылка на добавление товара должна иметь следующий вид (если не модифицировать сам скрипт): | ||
− | + | <source lang="javascript"> | |
<a id="add_basket_%id%" class="basket_list"> Добавить в корзину </a> | <a id="add_basket_%id%" class="basket_list"> Добавить в корзину </a> | ||
− | + | </source> | |
Теперь необходимо соответствующим образом изменить шаблон корзины. Для этого нам нужно в файле ~\tpls\emarket\basket.tpl добавить необходимые скрипту теги. А именно нужно присвоить значение класса class="block basket basket_info_summary" тегу <div> блока $FORMS['order_block']. | Теперь необходимо соответствующим образом изменить шаблон корзины. Для этого нам нужно в файле ~\tpls\emarket\basket.tpl добавить необходимые скрипту теги. А именно нужно присвоить значение класса class="block basket basket_info_summary" тегу <div> блока $FORMS['order_block']. | ||
Пример: | Пример: | ||
− | + | <source lang="javascript"> | |
$FORMS['order_block'] = <<<END | $FORMS['order_block'] = <<<END | ||
<div id="rubricator" class="block basket basket_info_summary"> | <div id="rubricator" class="block basket basket_info_summary"> | ||
− | + | </source> | |
После этого добавление в корзину будет выполнятся с помощью скрипта, и не будет больше перезагружать страницу. | После этого добавление в корзину будет выполнятся с помощью скрипта, и не будет больше перезагружать страницу. |
Версия 20:16, 15 декабря 2011
Корзина без перезагрузки в TPL шаблонизаторе.
Самый простой и удобный способ реализовать данную задачу заключается в том, что нужно использовать уже имеющиеся в UMI.CMS скрипты. За добавление товара в корзину отвечают методы site.basket.add и basket.putElement из файла: ~/js/site/basket.js
Для начала нужно подключить необходимые файл. В шаблоне дизайна сайта вам нужно подключить файл ~/js/site/__common.js
Пример:
<script type="text/javascript" src="/js/site/__common.js"></script>
После того как фал подключен в шаблонах дизайна — нужно соответствующим образом модифицировать ссылку каталога на добавление товара.
За данную ссылку отвечает следующий tpl шаблон: ~\tpls\catalog\preview.tpl
Скрипту работает таким образом, что ищет необходимый элемент по ID и классу ссылки. По этому ссылка на добавление товара должна иметь следующий вид (если не модифицировать сам скрипт):
<a id="add_basket_%id%" class="basket_list"> Добавить в корзину </a>
Теперь необходимо соответствующим образом изменить шаблон корзины. Для этого нам нужно в файле ~\tpls\emarket\basket.tpl добавить необходимые скрипту теги. А именно нужно присвоить значение класса class="block basket basket_info_summary" тегу
Пример:
$FORMS['order_block'] = <<<END
<div id="rubricator" class="block basket basket_info_summary">
После этого добавление в корзину будет выполнятся с помощью скрипта, и не будет больше перезагружать страницу.