
userMarker
Платный компонент предназначен для добавления меток к ресурсам.
Основные особенности
- Можно назначать метки не только ресурсам но и другим любым объектам. Для этого нужно задавать свой classKey для кнопки
- Так же учитывается контекст откуда был добавлен ресурс (можно отключить)
- Возможность вывода отмеченных ресурсов пользователя через сниппет
[[!userMarker.Resource? &label=`Проверен`]]с указанием нужной метки - Управление созданными метками через личный кабинет
- Управление правами приложения. Возможность назначить права управления метками только определенным группа и контектам. Шаблон политики доступа userMarker
Быстрый старт
Инициализация скриптов
Подключаем сниппет на страницу для инициализации скриптов js и css (вставить в верхнюю часть сайта)
modx
[[!userMarker.Initialize]]Список меток
Вставляем сниппет с метками и кнопкой добавить метку
modx
[[!userMarker.Label]]Чанк для ресурса
пример tpl.userMarker.resource.row
modx
<h3>[[+pagetitle]]</h3>
[[!userMarker.Record? &resource_id=`[[+id]]`]]Вывод списка ресурсов
Добавить на страницу для вывода отмеченных ресурсов
modx
[[!pdoPage?
&element=`userMarker.Resource`
]]
[[!+page.nav]]Или с помощью pdoResources
modx
[[!pdoResources?
&tpl=`tpl.userMarker.resource.row`
&innerJoin=`{
"Marker": {
"class": "userMarkerResource",
"on": "modResource.id=Marker.resource_id"
}
}`
]]Вывод списка ресурсов с указанием метки
modx
[[!pdoPage?
&label=`Имя метки`
&element=`userMarker.Resource`
]]
[[!+page.nav]]Управление метками
Вставить на страницу для авторизованного пользователя.
modx
[[!userMarker.label?
&tpl=`tpl.userMarker.manager.row`
&tplOuter=`tpl.userMarker.manager.outer`
]]Переназначения js для модального окна
Добавлены события для js modal
js
// Событие для открытия модального окна
userMarker.Modal.show = function () {
// Сюда можно прописать свой скрипт запуска модального окна
$(userMarker.options.modal).modal('show');
// После закрытия автоматически стерам данные
$(userMarker.options.modal).on('hidden.bs.modal', function (e) {
userMarker.removeModal();
});
};
// Событие для закрытия модального окна
userMarker.Modal.hide = function () {
if ($(userMarker.options.modal).length) {
// Сюда можно прописать свой скрипт закрытия модального окна
$(userMarker.options.modal).modal('hide');
}
};Сниппеты
Параметры userMarker.Initialize
для подключения скриптов и стилей
| Параметр | По умолчанию | Описание |
|---|---|---|
| selector | userMarker | Селектор для кнопки добавить метку |
Параметры userMarker.Label
userMarker snippet для вывода блока с метками
| Параметр | По умолчанию | Описание |
|---|---|---|
| tplOuter | tpl.userMarker.outer | Обёртка для вывода результатов работы сниппета. |
| tpl | tpl.userMarker.row | Чанк оформления для каждого результата |
| resource_markers | id страницы с результатами выборки отмеченных ресурсов | |
| defaultLabel | all | Метка для выборки ресурсов по умолчанию |
| user | 1 | Показывать метки только те что создал пользователь. |
Параметры userMarker.Resource
snippet вернет список ресурсов пользователя с метками
| Параметр | По умолчанию | Описание |
|---|---|---|
| label | Название метки для выборки ресурсов пользователя. По умолчанию all, вернет все ресурсы авторизованного пользователя | |
| class | modResource | Имя класса для выборки. По умолчанию, "modResource". |
| user_id | Идентификатор пользователя для вывода меток | |
| tpl | tpl.userMarker.resource.row | Чанк оформления для каждого результата |
| tplOuter | @INLINE [[+output]] | Обёртка для вывода результатов работы сниппета. |
| limit | 10 | Лимит выборки результатов |
| offset | 0 | Пропуск результатов с начала выборки |
| sortby | id | Сортировка выборки. Для сортировки по полям метки нужно добавить префикс "Resource.", например: "&sortby=Marker.label_id" |
| sortdir | ASC | Направление сортировки |
| toPlaceholder | Если не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран. | |
| toSeparatePlaceholders | Если вы укажете слово в этом параметре, то ВСЕ результаты будут выставлены в разные плейсхолдеры, начинающиеся с этого слова и заканчивающиеся порядковым номером строки, от нуля. Например, указав в параметре "myPl", вы получите плейсхолдеры [[+myPl0]], [[+myPl1]] и т.д. | |
| showLog | Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контексте "mgr". | |
| parents | Список категорий, через запятую, для поиска результатов. По умолчанию выборка ограничена текущим родителем. Если поставить 0 - выборка не ограничивается. | |
| resources | Список товаров, через запятую, для вывода в результатах. Если id товара начинается с минуса, этот товар исключается из выборки. | |
| includeContent | Выбирать поле "content" у товаров. | |
| where | Строка, закодированная в JSON, с дополнительными условиями выборки. | |
| outputSeparator | Необязательная строка для разделения результатов работы. | |
| returnIds | Возвращать строку с id товаров, вместо оформленных чанков. | |
| showUnpublished | Показывать неопубликованные товары. | |
| showDeleted | Показывать удалённые товары. | |
| showHidden | 1 | Показывать товары, скрытые в меню. |
| outerIfEmpty | 1 | Включает вывод чанка-обертки (tplOuter) даже если результатов нет. |
Параметры userMarker.Record
snippet для вывода кнопки добавить метку ресурсу
| Параметр | По умолчанию | Описание |
|---|---|---|
| selector | userMarker | Селектор для кнопки добавить метку |
| tpl | tpl.userMarker.record | Чанк оформления для каждого результата |
| classKey | modResource | classKey ресурса для добавления записи |
| context_key | web | Контекст ресурса. По умолчанию web |
| resource_id | id ресурса для добавления метки |
Параметры userMarker.Colors
snippet для вывода цветов в форме
| Параметр | По умолчанию | Описание |
|---|---|---|
| label_id | ID метки для выборки. Используется когда отсутствует имя метки | |
| tpl | tpl.userMarker.color | Чанк оформления для каждого результата |
Системные настройки
| Настройка | Описание |
|---|---|
| frontend_jgrowl_js | Скрипты фронтенда jgrowl |
| frontend_jgrowl_css | Стили фронтенда jgrowl |
| frontend_css | Стили фронтенда |
| frontend_js | Скрипты фронтенда |
| meta_context | Регистрировать мета тег context |
| regular_expression | Регулярное выражение для проверки наименования метки |
| framework | Подключить framework |
| framework_modal | Стили модального окна |
| resource_markers | id страницы с результатами выборки отмеченных ресурсов |
