Сниппет выводит корзину заказов двух типов (расширенный и простой).
Сниппет можно вызывать на странице несколько раз, но корзина выводится только в месте первого вызова. Второй и последующие вызовы игнорируются.
Пример: Если корзина на страницах каталога товаров находится в правой колонке шаблона, а на странице оформления заказа вызов сниппета вставлен в контент страницы, то на этой странице корзина будет выведена только в ценральной колонке (в правой вызов сниппета можно не убирать).
Параметр | Описание и значения | Значение по умолчанию | Примечание |
---|---|---|---|
&lang | язык | Язык системы управления | В настоящее время доступны языки: `russian`, `english`, `german`, `francais` |
&style | стиль корзины | default (assets/snippets/shopkeeper/style/default/) |
&style=`0` - если не нужен отдельный стилевой файл для корзины |
&cartType |
тип корзины full - расширенный, small - простой, empty - только очистка корзины без вывода на странице |
full | |
¤cy | валюта | руб. | |
&priceTV | имя TV-параметра, который используется для цены. | price | Если ваш TV для цены имеет название не "price", обязательно укажите это имя в данном параметре. |
&orderFormPage | ID страницы с формой заказа | 1 | обязательный параметр |
&noJQuery=`1` | если на сайте уже используется библиотека JQuery | 0 | |
&noConflict=`1` | если на сайте используется другая JS-библиотека (не JQuery), например Mootools, Prototype. | 0 | |
&noCounter | скрывать (значение `1`) или нет (значение `0`) счетчик товаров при добавлении в корзину | 0 | |
&linkAllow=`0` | Выводить названия товаров в корзине без ссылок. | 1 | Если этот параметр указан (=`0`) на странице оформления заказа, письмо с составом заказа и список товаров в модуле будут без ссылок. |
&stuffCont | CSS-селектор элемента, внутри которого находится информация о товаре. | div.shk-item | Пример чанка: chunk_shopStuff.tpl |
&debug=`1` | запустить отладку JavaScript-функций (вывод информации) | 0 | |
&tplPath | путь до папки с чанками | `assets/snippets/shopkeeper/chunks/ru/` | |
&cartTpl | чанк с шаблоном корзины | @FILE:chunk_shopCart.tpl | Чанк содержит сразу 3 шаблона - для пустой, заполненной расширенной и простой корзины. Если чанки хранятся в файлах, можно указать путь с командой "@FILE:". Если чанки созданы в системе управления, то указывается только имя чанка (например &cartTpl=`shopCart`) |
&cartRowTpl | чанк шаблона строки с информацией товара в расширенной корзине | @FILE:chunk_shopCartRow.tpl | |
&cartHelperTpl | чанк шаблона "хелпера" - блока, который появляется для подтверждения действий | - | |
&additDataTpl | чанк для доп. параметров товаров в корзине ([+addit_data+]) | - | |
&orderDataTpl | чанк списка товаров в отчете о заказе ([+orderData+]) | - | Используется в письме с отчетом о заказе (eForm &report) и в модуле. |
&flyToCart | действие при добавлении товара в корзину. helper - появляется блок со счетчиком кол-ва товаров и летит в корзину, image - в корзину летит картинка товара nofly - в корзину ничего не летит; |
`helper` | При &flyToCart=`image` тег <img> должен иметь CSS-класс "shk-image" |
&noLoader=`1` | не паказывать прелоадер (анимационная картинка) | 0 | |
&excepDigitGroup=`1` | разделять числа цен в корзине на разряды | 1 | |
&changePrice=`1` | при изменении параметров с ценой - изменяется цена товара, а индекс с плюсом не появляется | 0 | |
&counterField=`1` | добавить ко всем полям <input name="shk-count"> (кол-во товара) стрелки больше/меньше | 0 | |
&noJavaScript=`1` | Работа без JavaScript. | 0 | Обратите внимание, что в чанке "shopCart" кнопка "Пересчитать" находится внутри тега "noscript". Если используется режим &noJavaScript=`1`, рекомендуется тег "noscript" удалить. |
&hideOn | Отключить корзину на странице | 0 | Обычно используется в вызове сниппета краткого вида корзины. Указывается ID страницы с подробным видом корзины (оформление заказа). На этой странице краткий вид корзины будет отключен. |
Простой вызов:
[!Shopkeeper? &priceTV=`price` &orderFormPage=`10`!]
Расширенный вызов:
[!Shopkeeper?
&cartType=`small`
&priceTV=`price`
&orderFormPage=`10`
&changePrice=`1`
&counterField=`1`
&flyToCart=`nofly`
!]
Параметр сниппета | Описание | Плейсхолдеры в шаблоне | Примечание |
---|---|---|---|
&cartTpl (&cartType=`full`) | шаблон расширенной корзины |
[+inner+] - строка с информацией о товаре (cartRowTpl); [+price_total+] - Общая сумма; [+this_page_url+] - URL текущей страницы; [+empty_url+] - URL для очистки корзины; [+order_page_url+] - URL страницы оформления заказа; [+currency+] - валюта; |
Пример: chunk_shopCart.tpl
(содержит 3 шаблона корзины) <!--tpl_separator--> - разделитель шаблонов (удалять нельзя) |
&cartTpl (&cartType=`small`) | шаблон упрощенной корзины |
[+price_total+] - Общая сумма; [+total_items+] - Число выбранных товаров; [+plural+] - слово "товар" во множественном числе в зависимости от числа выбранных товаров; [+this_page_url+] - URL текущей страницы; [+empty_url+] - URL для очистки корзины; [+order_page_url+] - URL страницы оформления заказа; [+currency+] - валюта |
|
&cartRowTpl | шаблон строки с информацией товара в расширенной корзине |
[+id+] - ID товара (документа); [+name+] - название товара; [+link+] - ссылка на страницу товара; [+addit_data+] - строка с информацией о доп. параметрах товара; [+price+] - цена; [+price_total+] - цена товара + доп. параметры; [+price_count+] - цена товара * кол-во; [+currency+] - валюта; [+count+] - количество; [+this_page_url+] - URL текущей страницы; [+index+] - номер товара в корзине (от нуля); [+любой TV+] - любой TV-параметр, например [+image+]; [+shk_любой TV+] - любой доп. параметр, выбранный при добавлении товара в корзину (из [+addit_data+]), например [+shk_param1+]. |
Пример: chunk_shopCartRow.tpl и chunk_shopCartRow2.tpl |
&additDataTpl | шаблон для доп. параметров товаров в корзине ([+addit_data+]) |
[+param+] - имя и цена параметра. Цена указывается в скобках. Если цена = 0, то пишется только название параметра (без скобок); [+name+] - имя параметра; [+price+] - цена параметра; |
Пример: chunk_additDataTpl.tpl |
&orderDataTpl | шаблон списка товаров в отчете о заказе ([+orderData+]) |
Все плейсхолдеры чанка &cartRowTpl [+loop+], [+end_loop+] - начало и конец строки данных товаров (цикл). |
Пример: chunk_orderDataTpl.tpl |
&report (eForm) | шаблон текста письма с составом заказа |
[+orderData+] - состав заказа (список покупок); [+orderID+] - номер заказа; |
Пример: chunk_shopOrderReport.tpl и chunk_shopOrderReportWebUser.tpl |
Страница, на которой вызывается сниппет Shopkeeper |
[+totalItems+] - кол-во товара в корзине; [+totalPrice+] - общая цена товара в корзине; |
Для полноценной работы Shopkeeper необходимы следующие css-классы, id и имена полей:
Шаблон | CSS-классы | id HTML-элементов | Имена полей и кнопок | Примечание |
---|---|---|---|---|
Шаблон вывода информации товара |
shk-item - класс "обертывающего" элемента блока с информацией о товаре; shk-image - картинка товара (если используется &flyToCart=`image`); shk-price -класс элемента с ценой товара. |
— |
shk-id - имя скрытого поля с id товара; shk-count - имя скрытого поля с кол-вом товара. |
Пример chunk_shopStuff.tpl |
Шаблон корзины | — |
shopCart - id "обертывающего" элемента блока корзины; butEmptyCart - id кнопки-ссылки очистки корзины; butOrder - id ссылки на страницу оформление товара. |
shk_recount - кнопка "Пересчитать". |
Пример chunk_shopCart.tpl |
Шаблон строки информации о товаре в корзине |
shk-del - кнопка-ссылка удаления товара. |
— |
count[] - name полей с кол-вом товара. |
Пример chunk_shopCartRow.tpl |
Шаблон формы заказа | — | — |
email - поле "E-mail"; phone - поле "Телефон" |
Пример chunk_shopOrderForm.tpl и chunk_shopOrderFormWebUser.tpl |
CSS-классы (и id) используются в JS-функциях Shopkeeper'а.
Для этого нужно создать две или более формы (form) и в поле name="shk-id" после ID написать имя TV с ценой.
Пример:
<input type="hidden" name="shk-id" value="[+id+]__price2">
При submit формы в корзину добавится цена из TV-параметра с именем "price2".
Пример:
<input type="text" name="test__[*id*]__add" value="дополнительные данные" />
В корзину добавится параметр, который можно выводить в месте вставки плейсхолдера [+test+]
(выведется "дополнительные данные").
([+plugin+])
.&cartTpl - [+plugin+]
).В папке shopkeeper/docs/ есть примеры плагинов.
Просто создайте функции с такими именами и они будут вызываться при соответствующих действиях.
{{shopToCart}}
в визуальный редактор.([+orderData+])