Skip to content
  1. Компоненты
  2. userMarker

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 ​

для подключения скриптов и стилей

ПараметрПо умолчаниюОписание
selectoruserMarkerСелектор для кнопки добавить метку

Параметры userMarker.Label ​

userMarker snippet для вывода блока с метками

ПараметрПо умолчаниюОписание
tplOutertpl.userMarker.outerОбёртка для вывода результатов работы сниппета.
tpltpl.userMarker.rowЧанк оформления для каждого результата
resource_markersid страницы с результатами выборки отмеченных ресурсов
defaultLabelallМетка для выборки ресурсов по умолчанию
user1Показывать метки только те что создал пользователь.

Параметры userMarker.Resource ​

snippet вернет список ресурсов пользователя с метками

ПараметрПо умолчаниюОписание
labelНазвание метки для выборки ресурсов пользователя. По умолчанию all, вернет все ресурсы авторизованного пользователя
classmodResourceИмя класса для выборки. По умолчанию, "modResource".
user_idИдентификатор пользователя для вывода меток
tpltpl.userMarker.resource.rowЧанк оформления для каждого результата
tplOuter@INLINE [[+output]]Обёртка для вывода результатов работы сниппета.
limit10Лимит выборки результатов
offset0Пропуск результатов с начала выборки
sortbyidСортировка выборки. Для сортировки по полям метки нужно добавить префикс "Resource.", например: "&sortby=Marker.label_id"
sortdirASCНаправление сортировки
toPlaceholderЕсли не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран.
toSeparatePlaceholdersЕсли вы укажете слово в этом параметре, то ВСЕ результаты будут выставлены в разные плейсхолдеры, начинающиеся с этого слова и заканчивающиеся порядковым номером строки, от нуля. Например, указав в параметре "myPl", вы получите плейсхолдеры [[+myPl0]], [[+myPl1]] и т.д.
showLogПоказывать дополнительную информацию о работе сниппета. Только для авторизованных в контексте "mgr".
parentsСписок категорий, через запятую, для поиска результатов. По умолчанию выборка ограничена текущим родителем. Если поставить 0 - выборка не ограничивается.
resourcesСписок товаров, через запятую, для вывода в результатах. Если id товара начинается с минуса, этот товар исключается из выборки.
includeContentВыбирать поле "content" у товаров.
whereСтрока, закодированная в JSON, с дополнительными условиями выборки.
outputSeparatorНеобязательная строка для разделения результатов работы.
returnIdsВозвращать строку с id товаров, вместо оформленных чанков.
showUnpublishedПоказывать неопубликованные товары.
showDeletedПоказывать удалённые товары.
showHidden1Показывать товары, скрытые в меню.
outerIfEmpty1Включает вывод чанка-обертки (tplOuter) даже если результатов нет.

Параметры userMarker.Record ​

snippet для вывода кнопки добавить метку ресурсу

ПараметрПо умолчаниюОписание
selectoruserMarkerСелектор для кнопки добавить метку
tpltpl.userMarker.recordЧанк оформления для каждого результата
classKeymodResourceclassKey ресурса для добавления записи
context_keywebКонтекст ресурса. По умолчанию web
resource_idid ресурса для добавления метки

Параметры userMarker.Colors ​

snippet для вывода цветов в форме

ПараметрПо умолчаниюОписание
label_idID метки для выборки. Используется когда отсутствует имя метки
tpltpl.userMarker.colorЧанк оформления для каждого результата

Системные настройки ​

НастройкаОписание
frontend_jgrowl_jsСкрипты фронтенда jgrowl
frontend_jgrowl_cssСтили фронтенда jgrowl
frontend_cssСтили фронтенда
frontend_jsСкрипты фронтенда
meta_contextРегистрировать мета тег context
regular_expressionРегулярное выражение для проверки наименования метки
frameworkПодключить framework
framework_modalСтили модального окна
resource_markersid страницы с результатами выборки отмеченных ресурсов