Collections
Последнее обновление May 26th, 2021 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn moreCollections ("Коллекции") - это Дополнение MODX Revolution, которое добавляет пользовательский класс ресурсов CollectionContainer
со следующим поведением:
- Любой прямой дочерний ресурс будет скрыт в дереве ресурсов в Менеджере и будет отображаться в виде таблицы (по аналогии с Articles) на специальной вкладке "Дочерние ресурсы".
- Любые дочерние элементы, у которых есть собственные дочерние элементы, будут показаны в дереве для обычного управления.
Подколлекции¶
Как и само дерево ресурсов MODX, Collections поддерживает вложение. Вы можете создать коллекцию внутри другой коллекции. Контейнеры вложенной коллекции будут отображаться в дереве ресурсов, а их дочерние элементы будут отображаться в виде таблицы.
Перетаскивание¶
Вы можете перетащить ресурсы в контейнер Коллекций, и если у них нет собственных дочерних элементов, они будут перечислены в таблице. Если у них есть Дочерние ресурсы, они просто останутся в Дереве, как обычно.
Шаблоны коллекций (новое с версии 2)¶
Общие настройки¶
- Задать как вид по умолчанию - Если «Да», этот Шаблон Представления Коллекций (ШПК) будет использоваться в качестве последнего запасного варианта.
- По умолчанию для шаблонов - ШПК будет использован по умолчанию для ресурсов, использующих указанные шаблоны. Может быть переопределено для каждого ресурса на вертикальной вкладке "Коллекции" в настройках ресурса "Коллекции".
- Размер страницы - количество дочерних элементов по умолчанию для отображения на каждой странице в таблице.
- Поле сортировки - поле по умолчанию для сортировки (те же правила, что и для имени в определениях столбцов).
- Направление сортировки - направление сортировки по умолчанию.
- Разрешить массовые действия - включает флажки для выбора нескольких элементов и массовых действий с этими выборами.
- Разрешить перетаскивание - включает сортировку перетаскиванием.
- Место расположения контента - Положение стандартного поля контента
content
Ресурса. - Надпись вкладки - Настройте текст метки для вкладки «Дочерние ресурсы».
- Пункты контекстного меню - Настройте элементы в контекстном меню (при щелчке правой кнопкой мыши в таблице на элементе Коллекции).
- Кнопки - Настройте отображаемые кнопки при использовании средства визуализации, которое отображает кнопки. При желании добавьте классы к каждой кнопке с разделителем двоеточие ":".
Постоянная сортировка¶
Начиная с версии 3.2.0, в общие настройки были добавлены новые поля: Фиксированная сортировка - До и Фиксированная сортировка - После. Они позволяют добавлять дополнительные параметры сортировки в таблицу дочерних элементов, и они будут применяться вместе с параметром сортировки по умолчанию (а также с сортировкой после щелчка по заголовку столбца). Фиксированная сортировка - до используется перед сортировкой по умолчанию, Фиксированная сортировка - после используется после сортировки по умолчанию.
Синтаксис для обоих полей:
sort_field_condition=sort_field:sort_dir:sort_type,sort_field_condition2=sort_field2:sort_dir2:sort_type2<br>*=sort_field:sort_dir:sort_type,sort_field_condition2=sort_field2:sort_dir2:sort_type2<br>sort_field:sort_dir,sort_field_condition2=sort_field2
-
sort_field_condition
- Параметры сортировки будут применяться только в том случае, если таблица отсортирована по этому полю, этот элемент является необязательным, если он отсутствует или установлен в * сортировка будет применяться каждый раз -
sort_field
- Поле для фильтрации, обязательно -
sort_dir
- Направление сортировки, необязательно, если его нет, будет использовано направление сортировки из таблицы -
sort_type
- Разрешает приведение типа к полю, необязательно
Пример¶
publishedon=published:asc
-- Такая настройка для "Постоянная сортировка - до" перетащит все неопубликованные ресурсы в верхнюю часть таблицы при сортировке по опубликованным. Поскольку sort_dir присутствует, не имеет значения, сортируете ли вы по убыванию или по возврастанию по опубликованным, неопубликованные ресурсы всегда будут наверху
Настройки Коллекции¶
- Выбор типа ресурса - Включите выбор типа ресурса при создании нового ресурса с помощью кнопки «Новый дочерний элемент»
- Тип дочерних ресурсов по умолчанию - Установите тип ресурса по умолчанию для вновь созданных Дочерних ресурсов.
- Шаблон дочерних ресурсов по умолчанию - Установите шаблон по умолчанию для вновь созданных дочерних ресурсов.
- Надпись кнопки быстрого создания ресурсов - Настройте текст метки на кнопке «Новый дочерний элемент».
- Разрешенные типы ресурсов - Ограничьте разрешенные типы ресурсов списком, разделенным запятыми, если включен выбор типа ресурса.
Столбцы¶
- Метка - строка или ключ Лексикона (вы можете добавить свои собственные словарные статьи в пространство имен коллекций в шаблоны тем), который будет использоваться в качестве метки столбца.
- Название - Название поля, может быть любым полем из
modResource
, любым именем TV (с префиксомtv_
, имя TV НЕ должно содержать точки) или любымalias
псевдонимом группы Tagger (с префиксомtagger_
) - Скрытый - если указано "Да", столбец будет скрыт по умолчанию.
- Сортировка - если указано "Да", пользователь сможет отсортировать сетку по значениям в этом столбце.
- Ширина - Ширина столбца.
- Редактор - (string) Xtype или (object) JSON действующего редактора.
- Renderer - имя функции, которая будет использоваться в качестве средства визуализации.
- Позиция - Порядок столбцов.
Редакторы¶
В качестве редактора может использоваться любой действительный объект xtype (string) или JSON.
Примеры:
- textfield
- textarea
- modx-combo-boolean
- numberfield
-
{"xtype":"numberfield","allowDecimals":false,"allowNegative":false}
Рендереры¶
В качестве Рендерера вы можете использовать любую функцию с корректными аргументами.
Доступные рендереры:
- this.rendYesNo - Да/Нет (1/0) логические значения, окрашенные в зеленый и красный цвета соответственно
- Collections.renderer.qtip - При наведении курсора отображается подсказка со значением (полезно для более длинных значений)
- Collections.renderer.pagetitleWithButtons -Заголовок страницы (в элементе h2) со ссылкой на редактирование и кнопками для обновления, просмотра, удаления, публикации (а-ля в виде таблицы в Articles)
- Collections.renderer.pagetitle - Заголовок (в элементе h2) со ссылкой для редактирования
- Collections.renderer.pagetitleLink - Заголовок страницы со ссылкой для редактирования (текст меньше, чем h2)
- Collections.renderer.datetimeTwoLines - Дата в первой строке и время во второй строке. Форматы даты и времени настраиваются в Cистемных настройках.
- Collections.renderer.datetime - Дата и время в одной строке. Форматы даты и времени настраиваются в Cистемных настройках.
- Collections.renderer.image - миниатюра изображения
Пользовательские рендереры¶
Пользовательские рендереры можно легко добавить, создав файл JS (и файл CSS, если необходимо) и указав URL-адреса этих файлов в Системных настройках. Файлы JS могут содержать функции (см. Образец здесь), которые затем можно использовать совместно.
Подборки (новое с версии 3)¶
Selections are essentially links to other Resources in the same MODX site. You are not duplicating the original Resources when you add them to a Selections container, but simply creating another view from which to manage those Resources.
Подборки - это по сути ссылки на другие ресурсы на том же сайте MODX. Вы не дублируете исходные ресурсы, когда добавляете их в контейнер Selections
, а просто создаете другое представление для управления этими ресурсами.
Пример использования 1¶
Вы хотите создать меню со ссылками на ресурсы, которые находятся в разных частях Дерева ресурсов. Эти ресурсы фактически расположены там в Дереве ресурсов, где они и находятся в структуре контента сайта, поэтому до сих пор решение заключалось в создании контейнера Resource
в дереве специально для этого меню и создании в нем ресурсов веб-ссылок. Но на самом деле веб-ссылки не добавляют никакой ценности, кроме того, что ими можно управлять в другом списке. Вместо этого добавьте эти ресурсы в контейнер Selections
, который поддерживает свои собственные значения menuindex
для каждого ресурса, и, используя Сниппет getSelections
, вы можете перечислить ресурсы, отсортированные по этим специальным значениям menuindex
.
Пример использования 2¶
Вы хотите заполнить виджет ссылками на другие ресурсы на вашем сайте, но опять же, ресурсы поступают из различных разделов, или вы хотите вручную курировать содержимое виджета, а не автоматизировать его. Selections
предоставляет альтернативу, например MIGX, когда вам нужен пользовательский интерфейс управления для произвольных "выборок" ресурсов, независимо от того, где они существуют на сайте (даже если они находятся, например, в контейнере "Коллекции").
Сниппет getSelections¶
[[getSelections?
&selections=`[[*id]]`
&tpl=`myTplChunk`
]]
getSelections это сниппет-обёртка для getResources
, поэтому он зависит от установленного getResources
. Любые/все свойства getResources
, доступные в установленной вами версии getResources
, также будут доступны как свойства для getSelections
. Кроме того, вот свойства, специфичные для getSelections
:
- &selections - ID Ресурса контейнера
Selections
- &getResourcesSnippet - при желании вы можете назвать другой Сниппет листинга для вызова с помощью
getSelections
, но это не было тщательно протестировано с другими Сниппетами и, вероятно, должно использоваться только в том случае, если вы можете устранить неполадки какgetSelections
, так и вызываемого Сниппета.
Настройки подборок¶
- Метка кнопки новой ссылки - Настройте текст метки на кнопке «Новая ссылка».
Смотрите также¶
- Collections: Настраиваемые представления для типов контента
- Collections 3
- Collections: Расширенная сортировка
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more