Skip to content

dir000/msFaforites

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

##msFavorites## Компонент позволяет реализовать на сайте функционал «Избранные товары». В состав компонента включены 2 сниппета. Один формирует кнопку для добавления и удаления товаров в избранное, а второй выводит список добавленных товаров.

Для добавления товара необходимо встроить в код страницы специальную ссылку или кнопку (главное чтоб были нужные атрибуты). При клике по этой ссылке javaScript отправит запрос на коннектор, после чего попытается вызвать пользовательскую функцию msFavorite_after_add передав ей в качестве единственного аргумента jQuery объект самой ссылки. Это делается для того, чтобы можно было настроить реакцию на добавление товара в список избранных (Вы сами можете объявить эту функцию). Чтобы настроить реакцию на удаление товара из списка избранных предусмотрен аналогичный механизм, но функцию нужно назвать msFavorite_after_remove. Если же эти функции не объявлены, родной JS просто заменит надпись и атрибут data-action (add/remove). ##Сниппет msFavoritesButton## Сниппет msFavoritesButton предназначен для формирования кнопки, которая позволит добавить товар в список избранных. Он позволяет выводить различный код в зависимости от того авторизован ли пользователь и добавлен ли товар в список избранных ранее. Принимает всего 4 параметра:

productId – id товара (по умолчанию идентификатор текущего ресурса)

outTpl – чанк который будет использоваться для формирования кнопки если товара нет в избранных (по умолчанию msFavorites.button.out.tpl)

inTpl – чанк для кнопки, если товар уже в избранных (по умолчанию msFavorites.button.in.tpl)

unauthorizedTpl – чанк который выводится неавторизованным пользователям (по умолчанию msFavorites.button.unauthorized.tpl)

В unauthorizedTpl не передается никаких плейсхолдеров, он предназначен для того чтобы сообщить о необходимости авторизоваться, либо же вы можете просто указать в этом параметре пустой чанк, чтобы анонимам ничего не выводилось. В outTpl и inTpl доступны следующие плейсхолдеры:

pagetitle – заголовок ресурса

id – id ресурса

action – для outTpl всегда add, для inTpl — remove

Для корректной работы необходимо чтобы кнопка имела класс msfavorite, атрибут data-id, содержащий id товара и атрибут data-action, содержащий ключевое слово add или remove. Сниппет msFavorites Этот сниппет предназначен для вывода списка избранных товаров. Он является оберткой для msProducts и принимает все те же параметры + 2 дополнительных:

unauthorizedTpl — имя чанка, который будет выводится анонимным пользователям (по умолчанию msFavorites.unauthorized.tpl)

emptyTpl — имя чанка, который будет выводится, если список избранных товаров пользователя пуст (по умолчанию msFavorites.empty.tpl)

Вся шаблонизация и выборка производится средствами сниппета msProducts, соответственно в чанках отдельных элементов списка товаров Вам доступны все те же плейсхолдеры что и для вывода обычных товаров. По умолчанию в качестве шаблона отдельных элементов (параметр tpl) используется msFavorites.tpl.

Пример вызова

[[!msFavorites?
    &tpl = `msFavorites.tpl`
    &includeThumbs=`180x180`
    &limit=`0`
	&includeContent=`1`
    &sortdir=`DESC`
]]

Важно! Сниппеты msFavorites и msFavoritesButton нужно вызывать НЕ кэшированными.

About

msFaforites

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published