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