CookieList – это обобщенный аддон, который может быть использован для хранения вишлистов, избранных пользователем элементов и другого подобного контента. Он позволяет определить значение для сохранения, которое означает, что он не ограничен ресурсами, а также может использоваться для обеспечения функционала вишлиста для настраиваемых компонентов. Как следует из названия, данные сохраняются в Cookie.
Разработчик, ссылки и другое
CookieList разработал Ромен Трипол (Romain Tripault) из Melting Media для Марка Хамстра (Mark Hamstra), которому, в свою очередь, он понадобился для настраиваемого компонента BD Creative под названием bdListings. Было решено, что вместо включения его в общий пакет, он будет поставляться как отдельно – так им будет легче воспользоваться всем, кто нуждается подобном функционале.
Не сдерживайте себя, создавая форки и добавляя дополнительные функции, если Вам это нужно – pull request (запрос на слияние с оригиналом того кода, который написан внутри ветви некоторого форка) высоко ценится, если он добавляет ценности пакету в целом.
CookieList был разработан для MODx Revolution и может устанавливаться с помощью Package Manager или с сайта MODX. Хотя на более ранних версиях углубленное тестирование не проводилось, он должен работать с 2.0 и выше.
Версия |
Выпущен |
Примечание |
1.0.0-pl |
18 ноября 2011 года |
Первый публичный релиз |
Использование
CookieList поставляется с двумя сниппетами.
Первый, addToCookieList, позволяет сгенерировать ссылку (или что-нибудь еще, можно легко перезаписать темплейт), что дает возможность пользователю добавить или удалить элемент из CookieList.
Второй, getCookieList, просто выбирает куки и возвращает разделенный запятыми список значений, которые были сохранены. Он используется для генерирования обзора хранимых элементов вишлиста/избранного и т.д.
addToCookieList
Минимальный запрос, приведенный ниже, создает ссылку или выдает "Add to your CookieList" (Добавить в Ваш CookieList) или "Remove from your CookieList " (Удалить из Вашего CookieList). Возможно, Вы захотите изменить эти метки, и это можно сделать (посмотрите на свойства AddText и removeText ниже).
! Вам необходимо будет всегда запрашивать сниппеты addToCookieList и getCookieList некэшированными, так как каждый запрос может исходить от другого пользователя, и лучше внести изменения до того, как будет очищен кэш ресурса. При использовании с GetPage убедитесь, что &cache=0, чтобы предотвратить также кэширование GetPage.
Свойства сниппета
Вы можете использовать следующие свойства:
Свойство |
Описание |
Значение по умолчанию |
value |
Что храниться в куки. Вы, вероятно, захотите сохранить уникальный ID объекта, таким образом Вы сможете использовать сниппет getCookieList для создания обзора этих объектов со сниппетом. |
Текущий ID ресурса |
addText |
Перезапись метки "add" по умолчанию для конкретного языка. |
"Add to your CookieList" |
removeText |
Перезапись метки "remove" по умолчанию для конкретного языка. |
"Remove from your CookieList" |
tpl |
Позволяет совершить перезапись чанка темплейта по умолчанию. Вы можете использовать ссылку, значение и метку в своем чанке tpl. По умолчанию (filebased) чанк выглядит следующим образом: <a href="" title=""></a> |
|
Примеры
Минимальный запрос может быть использован для сохранения текущего ID ресурса в куки, который затем можно использовать со сниппетом getResources для создания обзора ресурсов.
getCookieList
Этот сниппет либо возвращает пустую строку, либо разделенный запятыми список значений, которые хранятся для пользователя. Это действительно простой сниппет, поскольку и выглядит он соответственно:
Нет свойств, которые Вы могли бы использовать для изменения поведения сниппета.
Настройки системы
Для CookieList требуются две настройки системы: