Работа с корзиной без перезагрузки TPL

Материал из Umicms
Версия от 20:15, 15 декабря 2011; Romario (обсуждение | вклад) (Новая страница: «Корзина без перезагрузки в TPL шаблонизаторе. Самый простой и удобный способ реализовать …»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Корзина без перезагрузки в 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'].

Пример:

$FORMS['order_block'] = <<<END

После этого добавление в корзину будет выполнятся с помощью скрипта, и не будет больше перезагружать страницу.