
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 страницы с результатами выборки отмеченных ресурсов | 
