Содержание
Collections компонент Modx Revo: обзор и установка
В MODX Revo изначально не удобно работать с большим количеством контента, древо ресурсов не удобно использовать обычным менеджерам сайта, которые его заполняют.
Обзор Collections
Древо не совсем удобное и при больших объёмах ресурсов в нём становится не удобно работать, а также вечно возникает проблема с выбором шаблона.
И каждый раз переключать его со временем сильно надоедает.
Есть замечательный бесплатный компонент Collections, который вы можете загрузить через админку сайта.
Он не только позволяет сделать более удобный вид, но и множество других настроек.
Для начала сравним стандартную структуру MODX с компонентом.
И так нам надо рыться в древе, чтобы найти нужную статью, нет никакой фильтрации. А при создании ресурса нам предстоит менять шаблон (кто работал, поймёт).
А теперь рассмотрим древо через компонент:
И так теперь при нажатии на данную рубрику у нас открывается список всех статей, с которыми намного приятней работать.
Мы можем фильтровать наши ресурсы по дате и другим параметрам, искать по названию, выполнять массовые действия (опубликовать, снять с публикации и удалить),
фильтровать по опубликованным и не опубликованным.
Поработав с ним, вы поймете, что это намного удобней чем через стандартные средства.
Установка Collections
Компонент загружается через установщик приложений. Вы можете не переживать за ваш сайт, компонент ничего не меняет, а лишь делает более удобный вид.
Вы всегда можете отказаться его использовать на нужных рубриках, компонент создаёт новый тип материала.
Загрузили и установили, теперь чистим кэш и переходим в наше приложение (Приложения -> Виды коллекции).
Там увидите стандартный вид «Blog», скопируйте его для создания нового вида.
И так первая вкладка:
Здесь довольно простые настройки, объяснять не стоит.
Лишь одно поле часто всего используется: «Задать как вид по умолчанию». Включив это, данный вид будет по умолчанию включаться всем рубрикам, к которым подключен компонент.
Самое интересное на второй вкладке:
Здесь мы можем выбрать шаблон по умолчанию для дочерних ресурсов, а также их тип.
Тип контента тоже можно поменять, к примеру, у меня создан новый тип «NO-HTML» — который работает, как простой «HTML», только он обрезает на конце алиаса расширение «.html»,
об этом читайте здесь.
А чтобы включить данный Collections для нужного ресурса, просто откройте его и во вкладке «Настройки» поменяйте тип ресурса на «Коллекция».
Modx Revolution Админка – как и какие плагины установить для разработки сайта
Автор: Камиль Г.
Предисловие
Если вы не знаете, как установить CMS Modx Revolution, то рекомендую ознакомиться с данной статьей, где
пошагово
рассказано как установить MODX Revo. Также в следующих статьях разберем «Какие начальные настройки нужно провести в
ModX» и «Сниппеты для успешной работы в ModX Revo».
Установщик пакетов
После авторизации в админ панели вашего сайта site/manager
мы видим элементы управления. Для установки
пакетов нам
нужно перейти в верхнем меню во вкладку «Пакеты» и выбрать пункт «Установщик».
Откроется окно «Менеджер пакетов». Здесь нажимаем на кнопку «Загрузить пакеты» и в
поиске вписываем необходимые пакеты для установки.
Каждый пакет необходимо «Загрузить» и после загрузки вернуться на страницу «Менеджер
пакетов» и установить каждый пакет.
Какие плагины нужно скачать и для чего?
Вот небольшой список самых необходимых плагинов:
- Ace
- AdminTools
- AjaxForm
- autoRedirector
- Collections
- Formit
- FormSave
- Gallery
- getResources
- MIGX
- pdoTools
- phpThumbOf
- ReCaptchaV2
- SimpleSearch
- tagElementPlugin
- TinyMCE
- Translit
- UpgradeMODX
Ace
Ace – это пакет, который позволяет встроить редактор кода внутрь Modx вместо стандартного. С поддержкой Emmet:
AdminTools
AdminTools позволяет гибко стилизовать админ панель управления CMS:
AjaxForm
AjaxForm – позволяет создаться ajax форму, т.е. форму отправки сообщений на почту без перезагрузки страницы.
AjaxForm работает в связке с Formit.
autoRedirector
autoRedirector – позволяет не заботиться о меняющихся url адресах на сайте. Например, если раньше страница была по
адресу: site.ru/necessery-page
, а теперь стала site.ru/new-adress
, то пользователь при
переходе по первой ссылке не
получит 404 ошибку, а перенаправится на вторую. autoRedirector создает отдельную табличку в базе и запоминает старые
адреса страниц автоматически.
Collections
Классный плагин, который позволяет красиво группировать дочерние ресурсы страницы в коллекции.
Formit
Пакет позволяющий упаковывать и отправлять данный с сайта на почту, например, форма обратного звонка.
AjaxForm работает в связке с Formit.
FormSave
Данный пакет позволяет все сообщения отправляемые посредством Formit сохранять в админ панели
modx. Благодаря чему
менеджеры сайта смогут просматривать сообщения от пользователей, не имея доступа к почте.
Gallery
Пакет галереи. Позволяет создавать альбомы и хранить в них изображения сайта.
getResources
Плагин позволяющий внутри одного ресурса вызывать другие, например, дочерние ресурсы. Это необходимо, когда вы
реализуете вывод списка новостей или своих товаров на родительской странице.
MIGX
Данный универсальный плагин позволяет создавать кастомные поля ввода / вывода на сайте. Например, можно сделать
именованные изображения, данные которых будут выводиться на сайте.
pdoTools
Пожалуй, один из самых важных плагинов для сайта. PdoTools предоставляет следующие возможности:
- вывод меню на сайте
- вывод ресурсов
- реализует хлебные крошки
- генерирует sitemap.xml
И многое другое. Подробнее можно прочитать на странице с
документацией.
phpThumbOf
Тоже мощный инструмент, позволяющий кэшировать изображения с сервера, кропать, добавлять маски, фильтры, вотермарки
и многое другое. Поддерживает огромное число форматов. Вместо него также можно использовать плагин
phpThumbOn.
Подробнее…
ReCaptchaV2
Позволяет встроить google капчу на сайт. Поддерживается как V2, так и V3 капча. Данный пакет может быть использован в
связке с Formit для отправки сообщений.
SimpleSearch
Плагин позволяет легко и быстро настроить поиск на сайте.
tagElementPlugin
Очень необходимый пакет для быстрой разработки проекта на modx. Он добавляет hotkeys (горячие клавиши) на создание /
редактирования чанков и сниппетов (Ctrl+Enter). Также в новых версиях есть и другие горячие
клавиши. Подробнее…
TinyMCE
Пакет заменяет стандартную форму редактирования текста.
Translit
Полезный пакет для SEO оптимизации, а точнее для создания ЧПУ (человеко-понятный урл) на лету. Вы
просто создаете
ресурс, translit сам возьмет заголовок ресурса и транслитерирует его на латиницу. В итоге у вас
будет красивый
адрес: site.ru/moya-pervaya-stranica
UpgradeMODX
Данный пакет позволяет быстро и без усилий обновить версию modx. Вам больше не придется скачивать и вручную менять
файлы на сервере, боясь что-то испортить. Теперь вам просто нужно нажать на кнопку «Begin Upgrade»
Заключение
Конечно, есть ряд других плагинов, которые можно использовать на сайте. Здесь же приведен необходимый стартовый
пакет плагинов, которые нужно устанавливать. Время от времени буду дополнять данную статью новыми плагинами по
необходимости. Спасибо за внимание.
Что нужно сделать после установки MODX Revolution — Создание сайтов
Здравствуй, дорогой дневник читатель. На этот раз я расскажу о том, что я делаю практически сразу после установки MODX Revolution. Так уж сложилось, что большинство проектов требуют одних и тех же действий, поэтому это можно считать в некотором роде шпаргалкой, которую можно перечитывать после очередной установки MODX. Естественно, не все пункты являются обязательными, поэтому всегда нужно исходить из условий задачи.
Приложения
Ace
Редактор кода с подсветкой синтаксиса и автодополнением. Я его использую для редактирования плагинов, сниппетов, чанков и шаблонов.
CKEditor
Визуальный текстовый редактор, отлично подходит для редактирования статей.
ClientConfig
ClientConfig служит для организации удобного редактирования таких настроек сайта, которые меняет обычно контент-менеджер: название сайта, номера телефонов, адреса электронной почты и прочие контактные данные.
Collections
Для того, чтобы дерево ресурсов не разрасталось, стоит использовать Collections. Коллекция — это расширенный ресурс, который содержит в себе однотипные ресурсы, например, статьи. Благодаря настройкам коллекции сопровождение сайта упрощается в разы. Например, для каждой коллекции можно настроить шаблон дочерних ресурсов по умолчанию. Также можно настроить список дочерних ресурсов.
fileTranslit
Данный плагин переименовывает файлы во время загрузки таким образом, чтобы не возникало проблем с их дальнейшим использованием. Он транслитерирует им файла («картинка.jpg» становится «kartinka.jpg»), а также удаляет ненужные символы.
Gallery
Служит для организации галереи.
If
Незаменимая вещь для гибкого контроля над выводом.
MIGX
pdoTools
Набор дополнений.
- pdoResources — перечисление ресурсов
- pdoMenu — альтернатива Wayfinder.
- pdoPage — сниппет для организации постраничной навигации.
- pdoCrumbs — хлебные крошки.
- pdoUsers — вывод пользователей.
- pdoSitemap — создание карты сайта.
- pdoNeighbors — вывод соседних ресурсов для выбранного.
- pdoField — сниппет для вывода любого поля или TV указанного ресурса.
- pdoTitle — вывод специально оформленного title страницы.
pThumb
Расширение для создания миниатюр изображений. Обратно совместим с phpThumbOf.
quasiForm
Набор сниппетов для обработки форм. Подробнее можно почитать здесь: https://quasi-art.ru/portfolio/webdev/quasiform
Queeg
Я написал отдельную статью про этот плагин. Он помогает из фронтенда сразу перейти к редактированию ресурса в панели.
SimpleSearch
Организация поиска на сайте.
translit
Плагин для транслитерации псевдонимов ресурсов.
Файлы
ЧПУ
Без ЧПУ сейчас никуда — нужно переименовать файл ht.access
в .htaccess
. Мой вариант .htaccess (в том числе и для MODX Revolution) можно посмотреть здесь.
Перенос сайта на хостинг
Мне довелось переносить сайты между хостингами на Evolution и Revolution. И в обоих случаях постоянно приходилось менять какие-то настройки, сбрасывать пути, удалять кэш и пр. Однако, немного покопавшись у MODX Revolution под капотом
, я вывел несколько простых действий, которые делают перенос сайта на MODX Revolution гораздо проще.
Пройдясь поиском по содержимому файлов MODX можно выяснить, что пути каталогов MODX Revolution прописываются во время установки и жёстко привязываются к системе, на которой запущен сайт. Вот список этих файлов, в которых можно найти путь до сайта:
- config.core.php
- connectors/config.core.php
- core/config/config.inc.php
- manager/config.core.php
К примеру, имеется файл, внутри которого есть следующая строчка:
$modx_processors_path = '/home/user/www/site.local/www/core/model/modx/processors/';
Очевидно, что при переносе на другой сервер путь до сайта должен быть другим. Поэтому я обычно делаю его динамическим, беря путь до корня сайта из глобального массива $_SERVER.
$modx_processors_path = $_SERVER['DOCUMENT_ROOT'].'/core/model/modx/processors/';
Как мы видим, в переменной $_SERVER[‘DOCUMENT_ROOT’] хранится путь до корня сайта без завершающей черты. Если произвести данную замену во всех файлах, перечисленных выше, при переносе сайта нужно будет только изменить данные для соединения с базой данных и очистить кэш — удалить каталог core/cache
Настройки системы
ЧПУ
Как было написано ранее, для активации ЧПУ необходимо переименовать файл в корне сайта. Помимо этого требуется включить ЧПУ в настройках сайта.
Активация ЧПУ
Также принято использовать транслит в адресе (для чего и устанавливается расширение ядра translit
). Но, чтобы он заработал, нужно указать его в настройках системы.
Включение транслитерации псевдонимов ресурсов
Вот и всё, система настроена и готова к работе. Спасибо за внимание.
Таксономия в modx revo (custom TV input) — Денис Дыранов
Таксономия, поправьте, если я не прав, — это такой способ классификации и систематизации, при котором один объект может относиться к нескольким классам. Например, у нас есть терьер Тузик, овчарка Рекс, кот Барсик и рыбка Немо. И есть такая структура:
- Млекопитающие
- Собаки
- терьеры
- овчарки
- Коты
- Собаки
- Рыбы
Тузик, будучи терьером, относится и к собакам, и к млекопитающим. То же самое с Рексом, он — собака и млекопитающее. Барсик относится к котам и млекопитающим, а Немо — рыба и млекопитающим не является.
Таксономия может быть очень полезна при разработке сайтов-каталогов, в которых один объект так же может относиться к нескольким категориям и группам категорий. Вот, например, каталог артистов. Артист может быть одновременно и музыкантом, и ведущим, и фокусником. Кроме того, музыку он может исполнять в различных стилях.
Таксономия «из коробки» имеется во многих CMS. Особенно хорошо этот термин знаком пользователям Drupal. Для моего любимого ModX существует плагин Taxonomies, но работает он… несколько странно… Надо что-то делать.
Начнем
Для начала создадим структуру каталога в дереве ресурсов. Для ресурсов в этой структуре нам понадобится отдельный шаблон — назовем его «section». Кроме того, шаблон понадобится и для объектов — назовем его «object».
Так как каждый объект каталога у нас может принадлежать к нескольким категориям, нет никакого смысла хранить объекты внутри категорий. Можно было бы, конечно, создать ресурс внутри одной из категорий, а в остальных сделать ссылку на него, но это, по-моему, извращение. Работать с таким каталогом будет очень не удобно. Поэтому для хранения объектов создадим ещё один ресурс, который будет нашей «Базой данных» 🙂 Чтоб не потеряться среди тысяч дочерних ресурсов «базы» имеет смысл воспользоваться плагином Collections.
Теперь нужно объекты из «базы» как-то привязать к структуре каталога. Причём каждый объект может быть привязан сразу к нескольким категориям. Более того, при выборе дочерней категории, было бы неплохо сразу отмечать и родительские — именно поэтому мы не можем использовать теги — у них нет структуры, они не бывают дочерними/родительскими. В принципе, мы могли бы создать отдельное TV с тегами для каждой группы категорий каталога. Тогда само TV обозначало бы группу, у которой были бы дочерние элементы — теги, но таких TV может получится слишком много, да и каждое TV — это лишние запросы в БД.
TV cо своими параметрами ввода
Итак, нам нужен TV, в котором будет храниться список родительских ресурсов, и нам нужен удобный способ редактирования этого списка. То есть нужен свой TV input. Я сделал такой:
Как делаются custom TV input? Нужно создать 4 файла:
- /core/model/modx/processors/element/tv/renders/mgr/input/taxonomytv.class.php — основной код на php, который передает данные в шаблон TV.
- /core/model/modx/processors/element/tv/renders/mgr/inputproperties/taxonomytv.php — вызов шаблона с дополнительными настройками TV.
- /manager/templates/default/element/tv/renders/input/taxonomytv.tpl — шаблон TV. Форма из смеси JavaScript, EXT.js и Smarty. Обрабатывает данные, полученные от taxonomytv.class.php. Здесь важны id элементов формы из которых modx получит обновленные данные.
- /manager/templates/default/element/tv/renders/inputproperties/taxonomytvprops.tpl — шаблон дополнительных настроек TV.
Я сделал эти файлы на основе стандартных TV инпутов: resourceList и checkbox.
Ещё раз. Я сделал TV «taxonomy» и назначил ему параметр ввода «taxonomytv», который является кастомным и скачать вы его сможете в конце статьи. Естественно, не забываем назначить TV для шаблона Object.
В настройках TV, во вкладке «параметры ввода» нам нужно указать id родителя структуры. Чекбоксы могут выстраиваться в несколько колонок. width-fix — костыль для правильного отображения чекбоксов, так как у модикса с этим есть некоторые проблемы — неправильно высчитывается ширина блока .x-column-inner. Если у вас не отображаются чекбоксы или колонки чекбоксов слишком широкие, попробуйте включить width-fix.
В параметрах вывода TV нужно выбрать тип вывода «разделитель» и в качестве разделителя указать ||.
Создаем новую запись в «базе» и видим структуру каталога в TV taxonomy. При выборе овчарки выбираются и собаки и млекопитающие — все родительские элементы. Выключаем чекбокс — выключаются родительские. Вложенность возможна бесконечная.
BIG
Фильтрация в getResources
Теперь в TV taxonomy хранится список id категорий, к которым принадлежит данный ресурс вида: id||id2||id3
. Для того, чтобы отобразить все ресурсы в данной категории, нужно задать фильтрацию по TV для getResources в шаблоне Section. В простейшем случае это делается так:
&tvFilters=`taxonomy==%[[*id]]%`
Но проценты здесь — любое продолжение строки, поэтому вместе с ресурсами с id 8 отобразятся и 18 и 88 и все остальные, в id которых присутствует 8. Поэтому параметры фильтрации нужно уточнить:
&tvFilters=`taxonomy==[[*id]]||taxonomy==[[*id]]|%||taxonomy==%|[[*id]]||taxonomy==%|[[*id]]|%`
— получаем 8|
или |8|
или |8
, других вариантов быть не может.
Итак, у нас есть «база данных» — ресурс типа «Коллекция», где хранятся все наши записи. У нас есть структура каталога в виде дерева обычных ресурсов. И есть кастомный TV, чтоб присваивать записям «родителей» из структуры. В шаблоне каталога «section» у нас вызов getresources такого вида:
[[getResources?
&parents=`9`
&tpl=`object-list`
&showHidden=`1`
&includeContent=`1`
&includeTVs=`1`
&processTVs=`1`
&tvPrefix=``
&tvFilters=`taxonomy==[[*id]]||taxonomy==[[*id]]|%||taxonomy==%|[[*id]]||taxonomy==%|[[*id]]|%`
]]
Здесь в качестве параметра parents указан id нашей «базы данных». В принципе, всё уже должно работать. При этом у нас в базе вполне может присутствовать Котопёс и он отобразиться в разделах: Кошки, Собаки и Млекопитающие.
Ссылки на разделы в шаблоне getResources
Не хватает отображения ссылок на родителей под каждой записью — по типу тегов. Если в чанке object-list (шаблон getResources) мы попытаемся отобразить тв, просто написав его название, то на выходе мы получим простую строку из id документов-родителей через разделитель ||. Нужно превратить эту строку из TV taxonomy в осмысленные ссылки на разделы.
Можно было бы написать сниппет, который разбивает строку из TV, ищет по каждому id нужный ресурс и формирует на него ссылку. Но в таком случае, при отображении каждой записи из «базы», для каждого «родителя» этой записи нам нужен был бы отдельный запрос к MySQL (или что у вас там). Более того, можно было бы сделать custom TV output, но у него были бы те же проблемы.
Поэтому я решил сделать 2 сниппета. Первый taxonomyString — вызывается один раз вместе с getResources и формирует строку со всем необходимым для создания ссылки из id в TV. Строка имеет вид: id_родителя1:pagetitle1==id_ресурса1||id_родителя2:pagetitle2==id_ресурса2
— и так для всех категорий каталога.
В качестве параметра taxonomyString принимает id корневого ресурса структуры каталога. Таким образом вызов getResources в шаблоне Section у нас становится таким:
[[!getResources?
&parents=`9`
&tpl=`object-list`
&showHidden=`1`
&includeContent=`1`
&includeTVs=`1`
&processTVs=`1`
&tvPrefix=``
&tvFilters=`taxonomy==[[*id]]||taxonomy==[[*id]]|%||taxonomy==%|[[*id]]||taxonomy==%|[[*id]]|%`
&string=`[[!taxonomyString? &parent=`12`]]`
]]
Заметьте, что parents для getResources — это id базы, а parent для taxonomyString — id корня каталога.
По сути, код taxonomyString — это вызов getResources внутри getResources, так что если вы, например, хотите отображать «папки» категорий, вы можете убрать отсюда 'hideContainers'=>'1'
.
Второй сниппет taxonomyLinks вызывается из чанка object-list (tpl getResources). Он принимает два параметра: tvs — это наш TV taxonomy и string — это строка от первого сниппета. В примере чанк object-list выглядит так:
[[+pagetitle]]
[[!taxonomyLinks? &string=`[[+string]]` &tvs=`[[+taxonomy]]`]]
TaxonomyLinks как раз и занимается формированием ссылки из id, но при этом он не обращается к БД сайта, а берёт все необходимые данные из строки, полученной от taxonomyString. Каждой ссылке присваивается класс taxonomy и класс в зависимости от id группы: taxgroup5, taxgroup10 и т. д. Ссылка на текущую страницу заменяется span’ом с теми же классами.
Результат:
Скорее всего всё точно так же должно работать и с pdoResources. Достаточно заменить getResources на pdoResources в шаблоне section и в сниппете taxonomyLinks.
Установка
- Качаем архив taxonomyTV.zip
- Создаем 2 сниппета taxonomyString и taxonomyLinks и вставляем в них содержимое файлов snippet-taxonomyString.php и snippet-taxonomyLinks.php соответственно.
- taxonomytv.class.php копируем в /core/model/modx/processors/element/tv/renders/mgr/input/
- taxonomytv.php копируем в /core/model/modx/processors/element/tv/renders/mgr/inputproperties/
- taxonomyTV.tpl копируем в /manager/templates/default/element/tv/renders/input/
- taxonomytvprops.tpl копируем в /manager/templates/default/element/tv/renders/inputproperties/
- Теперь можно создать TV «taxonomy», присвоить ему параметр ввода taxonomytv и заново перечитать статью следуя всем указаниям 🙂
В очередной раз напомню, что я дизайнер, а не программист и используете вы этот код на свой страх и риск. Если вы найдёте баги, и тем более если вы сможете их исправить, пишите на [email protected].
Как настроить выпадающий список в детской сетке MODX Collections?
Я хочу иметь возможность изменить значение телевизора для ресурсов, отображаемых в сетке «Коллекции», с помощью раскрывающегося списка выбора bo.
Может ли кто-нибудь предоставить пример создания окна выбора в сетке «Коллекция»это либо
- , заполняемый из опций в существующей переменной шаблона
- , заполняемый из фиксированного списка, просто опции 1, 2, 3
IЯ понимаю, что это возможно, но не могу найти пример, достаточно близкий к тому, что мне нужно для достижения, и я могу понять это самостоятельно.
То, что я пробовал, это
Я виделПример Сьюзен Отвелл о том, как изменить Создано с помощью поля выбора http://modxcookbook.com/add-ons/collections/editable-grid-view.html
Обсуждение, приведенное ниже, решает аналогичную проблему, но остается без ответа https://forums.modx.com/thread/95984/adding-modx-combo-to-collections-list
Конфигурация и синтаксис MIGX выглядят аналогично, но не близкоДостаточно, чтобы я мог понять, что мне нужно сделать https://forums.modx.com/thread/91403/single-select-listbox-entries-in-migx
MODx.combo.ComboBox документы выглядят так, как будто они содержат некоторые важные детали, но я не знаю достаточно, чтобы понять, если это выseful https://docs.modx.com/revolution/2.x/developing-in-modx/advanced-development/custom-manager-pages/modext/modx.combo.combobox
Я искал примеры подобных выпадающих списков в исходном коде других дополнений.Я вижу ссылки на xtype, но не могу перепроектировать их, чтобы понять, что мне нужно для создания собственного выпадающего списка в сетке Коллекций.
Приведенный выше пример Сьюзан Отвелл создает раскрывающийся список на основе xtype modx-combo-user.Это похоже на то, что мне нужно, но я не могу понять, как адаптировать это для создания выпадающего списка из значений ТВ или фиксированного списка.
{"xtype":"modx-combo-user","renderer":true,"fields": ["fullname","username","id"],"displayField": "fullname","baseParams": {"action": "security/user/getlist","usergroup":2}}
Может кто-нибудь привести пример или указать мне на другой ресурсчто может помочь?
MetroniX / Готовые сайты, темы / Дополнения MODX / modstore.pro
Внимание, этот компонент требует версию PHP
7.0
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже
2.7
!
Если вам надоела стандартная тема оформления админки MODX Revolution, а клиенты просят вас установить другой шаблон и наконец-то сделать ее стильной, то это дополнение решит все ваши проблемы. После установки этого шаблона админка MODX Revo заиграет новыми красками и станет дружелюбнее к конечному пользователю.
Во второй версии этого дополнения появилось множество нововведений.
Во-первых, обновились стили некоторых элементов и добавлена полноценная поддержка планшетов и телефонов. Да-да! Теперь вы можете администрировать сайт с мобильного телефона.
Во-вторых, были доработаны некоторые скрипты админки, результатом чего стали доступны новые возможности, которыми можно управлять из настроек темы. Перейдя в системные настройки и выбрав раздел metronix, вы сможете управлять следующими опциями:
Тема поддерживает следующие дополнения:
Ace
Babel
BannerY
bdAdmin
Collections
controlErrorLog
FormIt
Gallery
MIGX
MiniShop2
ModDevTools
mSearch3
msImportExport
SEO Pro
SEO Tab
shopStats
syncMoySklad
tagElementPlugin
Tagger
Tickets
TinyMCE Rich Text Editor
VersionX
Обсуждение шаблона MetroniX происходят здесь
Видео: MetroniX – Обзор шаблона админки MODX Revo
Скриншоты
Вход
Дашбоард
Системные настройки
Консоль
Файловый менеджер
Пакетный менеджер
Меню
Версия для смартфонов
MODX Revolution — Базовый урок
Всем привет, друзья! Это базовый урок по CMF MODX Revolution, в котором мы познакомимся с системой MODX, выполним установку необходимых плагинов и выполним базовую настройку фреймворка.
Поделиться
Твитнуть
Поделиться
Класснуть
Запинить
Ресурсы базового урока MODX:
Установка и настройка MODx плагинов
Устанавливаем Advanced версию MODX, во время установки указываем, что папка админа будет называться super.
Маст-хэв плагины MODX
Самые популярные и наиболее часто используемые дополнения для MODX:
- Ace — редактор кода MODX
- Collections — отображение и управление коллекциями ресурсов
- pdoTools — набор базовых инструментов MODX
- FormIt — работа с формами в MODX
- phpThumbOf — работа с изображениями в MODX
- TinyMCE / CKEditor (на выбор) — текстовый WYSIWYG редактор для MODX
- translit — транслитерация URL в MODX
- MIGX — Добавляемые дополнительные поля в MODX
- AutoTemplate — «Умное» автоматическое назначение шаблонов ресурсам
Базовые настройки MODX Revolution
Переходим в «Системные настройки».
-
Раздел: Дружественные URL
- Транслитерация псевдонимов: russian
- Использовать дружественные URL: Да
- Строгий режим дружественных URL: Да
- Проверять на дублирование URI во всех контекстах: Да
- Использовать вложенные URL: Да
- Не забудьте также переименовать ht.access в .htaccess в корне сайта.
-
Раздел: Панель управления
- Показывать описание в верхнем меню: Нет
-
Раздел: Сайт
- Страница ошибки 404 «Документ не найден»: ID ресурса 404
- Публиковать по умолчанию: Да
- Название сайта: Название вашего проекта
-
Раздел: Система и сервер
- Отправлять заголовок X-Powered-By: Нет
-
Пространство имен: ace
- Размер шрифта: 18px
- Мягкая табуляция: Нет
- Размер табуляции: 2
- Тема редактора (на выбор): ambiance, chaos, chrome, clouds, clouds_midnight, cobalt, crimson_editor, dawn, dreamweaver, eclipse, github, idle_fingers, katzenmilch, kr, kuroir, merbivore, merbivore_soft, mono_industrial, monokai, pastel_on_dark, solarized_dark, solarized_light, terminal, textmate, tomorrow, tomorrow_night, tomorrow_night_blue, tomorrow_night_bright, tomorrow_night_eighties, twilight, vibrant_ink, xcode;
- Ктоме того, вы можете сделать тему Material в редакторе Ace. Инструкция:
MODX Ace Material Theme 1. Системные настройки > Пространство имен "ace": Размер шрифта: 15px Высота области редактирования: 560 Невидимые символы: Да Мягкая табуляция: Нет Размер табуляции: 2 Тема редактора: tomorrow_night 2. Файлы: Filesystem > super > templates > default > css > index.css: (Добавить в конце) .ace_editor{line-height: 1.4!important;font-family: 'Menlo','Ubuntu Mono','Consolas','source-code-pro',monospace!important} .ace_gutter{color:#666E79!important} .ace_active-line,.ace_gutter-active-line{background-color:#2A2F38!important} .ace_scroller,.ace_gutter {background-color: #272B33!important} .ace_meta.ace_tag{color:#A6B2C0!important} .ace_meta.ace_tag.ace_tag-name{color:#DF6A73!important} .ace_entity.ace_other.ace_attribute-name{color:#D2945D!important} .ace_string{color:#90C378!important} 3. Очистить кеш через меню.
Создаваемые базовые ресурсы
- Страница 404 — страница для настройки «Документ не найден». Не показывать в меню
- sitemap — ресурс для вывода [[pdoSitemap]]. Пустой шаблон. Не показывать в меню. Тип содержимого: XML. Не доступен для поиска. Не использовать HTML-редактор
- robots — ресурс для вывода robots.txt. Пустой шаблон. Не показывать в меню. Тип содержимого: text. Не доступен для поиска. Не использовать HTML-редактор
Дополнительные материалы базового урока по MODX
Содержимое сниппета host:
<?php echo $_SERVER['HTTP_HOST'];
Содержимое robots.txt для MODX с использованием сниппета
host:
User-agent: * Disallow: /super/ Disallow: /assets/components/ Disallow: /core/ Disallow: /connectors/ Disallow: /index.php Disallow: /index.html Disallow: /index Disallow: *? Host: [[host]] Sitemap: http://[[host]]/sitemap.xml
Премиум уроки от WebDesign Master
Другие уроки по теме «MODX»
Коллекции
: настраиваемые представления для типов контента
Списки продуктов, сообщения в блогах, выпуски новостей, официальные документы — это лишь некоторые из настраиваемых «типов контента», которыми должен управлять типичный владелец сайта. С коллекциями MODX позволяет легко настраивать административные представления, с мощными опциями и всей гибкостью, которую вы ожидаете от MODX Revolution.
В этом посте мы подробно рассмотрим, как использовать Коллекции, как быстро и легко настроить настраиваемые представления и как настроить собственное средство визуализации для поля изображения (TV).
Что такое «Коллекции»?
Для непосвященных, Collections — это «Extra» (часть программного обеспечения, расширяющая основные функции) для MODX Revolution CMS. Вы можете загрузить и установить его через пункт главного меню «Extras» Installer »в Менеджере (интерфейс администратора MODX). Примечание: скриншоты и инструкции в этом посте будут основаны на последней версии MODX 2.3.1. Предыдущие версии немного отличаются.
Вы также можете скачать Коллекции прямо из репозитория MODX Extras.Официальную документацию по коллекциям можно найти здесь. Коллекции с открытым исходным кодом. Отзывы, проблемы, отчеты об ошибках и предложения приветствуются и приветствуются: Репозиторий Github коллекций.
Коллекции
начинались с простой цели: предоставить альтернативный пользовательский интерфейс для управления ресурсами (по сравнению с традиционным представлением MODX Tree) и повысить производительность в Менеджере. Однако с выпуском версии 2.2.0 Коллекции становятся одним из самых полезных и мощных доступных дополнений.
Как пользоваться?
Основы
Документация поможет новым пользователям начать работу, но вкратце: все, что вам нужно сделать, чтобы превратить стандартный документ MODX в коллекцию, — это изменить тип ресурса на вкладке «Настройки» любого ресурса.
CMP
Самое интересное начинается, когда вы переходите на страницу Custom Manager (CMP). В Диспетчере в пункте главного меню «Дополнительно» выберите «Представления коллекции».
Здесь вы увидите список настроенных представлений.Если у вас нет настраиваемых представлений, будет отображаться только значение по умолчанию.
Нажмите кнопку «Добавить представление», чтобы создать новое представление.
Давайте рассмотрим каждую настройку:
- Размер страницы: количество элементов по умолчанию для отображения на странице в сетке. Все еще может быть изменен пользователем.
- Поле сортировки: поле для сортировки сетки. Это может быть телевизор с префиксом tv_ в названии телевизора или группа Tagger с префиксом tagger_.
- Направление сортировки: по возрастанию или убыванию. Все еще может быть изменен пользователем.
- Разрешить массовые действия: включен, это дает кнопку «Массовые действия» (см. Рисунок ниже).
- Разрешить перетаскивание: включено, это позволяет перетаскивать размещение ресурсов, перечисленных в сетке.
- Выбор типа ресурса: включен, рядом с кнопкой «Добавить дочерний элемент» отображается раскрывающийся список для выбора типа ресурса (см. Рисунок ниже.)
- Метка вкладки: настраиваемый текст для вкладки «Дети» (см. Рисунок ниже).
- Новая метка дочерней кнопки: настраиваемый текст для кнопки «Добавить ребенка» (см. Рисунок ниже).
- Место содержимого: поместите поле содержимого для ресурса коллекции. Скорее всего, вы не хотите, чтобы поле содержимого было видимым под сеткой, и вы можете полностью удалить его, поскольку дочерние ресурсы, как правило, содержат контент, редактируемый пользователем.
Параметры просмотра коллекций в действии
В дополнение к указанным выше настройкам сетки вы также можете установить некоторые значения по умолчанию, когда создаются новые дочерние ресурсы:
После того, как вы сохранили представление (кнопка «Сохранить» находится вверху справа), вы увидите область ниже, где вы можете добавить столбцы в представление сетки:
Мы рассмотрим добавление столбцов ниже в разделе о пользовательских средствах визуализации.
Примеры пользовательских представлений коллекции
Вот пример того, как может выглядеть окончательный вид настраиваемой сетки для списка продуктов:
…и еще один для блога:
Изображение и другие настраиваемые средства визуализации
В комплект
Collections входит несколько наиболее часто используемых средств визуализации, с помощью которых можно отображать значения в сетке. Начиная с версии 2.2.0 Коллекции, было добавлено средство визуализации изображений. По умолчанию он ставит перед системной настройкой MODX ‘base_url’ префикс необработанного значения TV. Возможно, это не то, что вам нужно. К счастью, автор коллекций Джон Пека встроил для вас простой способ добавления пользовательских средств визуализации.
В документации есть ссылки на ресурсы о том, как создавать собственные пользовательские средства визуализации, но мы кратко рассмотрим это ниже.
Настройки
и ваш собственный файл Javascript
- В диспетчере перейдите в область «Параметры системы» и отфильтруйте пространство имен «Коллекции». В настройке «collections.user.js» введите URL-адрес файла Javascript, который будет содержать код JS для средства визуализации (см. Рисунок ниже).
- При желании вы можете создать здесь пользовательскую настройку системы, чтобы указать base_url для вашего телевизора с изображениями (см. Рисунок ниже).
- Создайте файл JS в указанном месте на сервере.Когда отображается сетка коллекций, включается файл JS.
Коллекции Системные настройки
Содержимое вашего JS-файла будет примерно таким, для средства визуализации изображений:
- Сначала мы определяем функцию с именем myimagerenderer (очевидно, имя может быть любым).
- Коллекции передают в качестве первого аргумента этой функции необработанное значение TV. Мы проверим, есть ли там что-нибудь.
- Мы устанавливаем для переменной baseUrl значение из нашей пользовательской настройки системы (показано выше.Как видите, все системные настройки в этой установке MODX доступны как дочерний объект объекта MODx.config. С таким же успехом вы можете использовать MODx.config.whatever_system_setting.
- Мы проверяем значение, чтобы увидеть, начинается ли оно с «http: //», и если да, то мы не будем префикс «baseUrl». Примечание: если вы ожидаете, что ваши значения TV будут содержать ссылки на изображения с https: //, вам также следует проверить это.
- Наконец, в строке «7» мы возвращаем фрагмент HTML с добавлением «baseUrl» к значению TV.
В коллекциях CMP
Ранее мы пропустили процесс добавления столбцов в представление сетки. Давайте посмотрим на это сейчас. По умолчанию включены некоторые стандартные поля ресурсов MODX, но вы можете проверить документацию о том, как добавлять средства визуализации и редакторы для определенных полей, таких как TV и теги Tagger.
В CMP, когда вы обновляете представление коллекции, нажмите кнопку «Добавить столбец». Здесь вы указываете отображение / поведение столбцов сетки.Чтобы добавить настраиваемое средство визуализации изображений, введите имя функции JS в поле «средство визуализации». В данном случае это был myimagerenderer.
- Метка: это то, что пользователи будут видеть в виде сетки.
- Имя: это имя поля. Если это телевизор, используйте префикс tv_.
- Renderer: здесь находится имя вашей функции.
- Ширина: укажите ширину столбца по умолчанию. Это и другие поля являются необязательными.
Другие настраиваемые средства визуализации
Средства визуализации изображений — не единственные типы настраиваемых средств визуализации — вы можете определить функции JS для визуализации практически всего, что захотите. Вот пример того, который отображает временные метки Unix:
Собираем все вместе …
Со всеми этими настраиваемыми параметрами — какие поля отображать в сетке, по каким сортировать, как отображать значения в этих полях и настраиваемые текстовые метки — возможности безграничны. Вы можете создать представление «Коллекция», которое будет выполнять ровно , что нужно вам или вашим клиентам.До сих пор у нас были отличные отзывы о коллекциях, но как насчет вас? Довелось им воспользоваться? Что ваши клиенты говорят о Коллекциях и новом интерфейсе MODX? Прокомментируйте и дайте нам знать.
MODX Revolution — коллекции
Начните с чтения документации — http://rtfm.modx.com/extras/revo/collections
Если вы еще этого не сделали, настройте две переменные шаблона — image для хранения изображения продукта и price для удержания его цены (неужели!).
Перейдите к Extras => Installer и установите Collections
Теперь в разделе Extras вы должны увидеть представлений коллекции , щелкните по нему, а на следующем экране щелкните Добавить представление
Введите следующее в поле Общие настройки
Введите следующее в настройках коллекции и нажмите Сохранить
Теперь, по волшебству, в нижней части экрана появилась новая часть, где вы вводите соответствие между тем, что вы видите на экране, и фактическим ресурсом документа, который будет создан, и другими данными, связанными с презентацией.
Если ввести следующее — для этого примера должно работать:
Цена Editor : {«xtype»: «numberfield», «allowNegative»: false, «allowDecimal»: true}
Для вашего удобства копию моих пользовательских рендереров можно скачать отсюда.
Чтобы установить эти средства визуализации: в Manager перейдите к Системные настройки и отфильтруйте пространство имен Коллекции .
В постановке сборников.user.js , введите URL-адрес файла Javascript, который будет содержать JS-код для средства визуализации,
… и добавьте запись для collections_renderer_basepath_img
Создайте файл JS в указанном месте на сервере. Когда отображается сетка коллекций, включается JS-файл
Теперь создайте новый ресурс с именем store и установите тип ресурса как Collection
Так как наш магазин будет продавать товары трех разных категорий, компакт-дисков , книг и DVD , настройте их как подколлекции (ресурсы под хранят с типом ресурса , установленным на Коллекция ) с помощью кнопки Создать продукт на уровне магазина .
Примечание: После первоначального сохранения каждой коллекции / вложенной коллекции необходимо отредактировать каждый ресурс, чтобы указать на представление коллекции, которое он должен использовать.
Теперь добавьте продукты в каждую из вложенных коллекций, используя кнопку Create Product на каждом соответствующем уровне.
Пример настройки продукта, в данном случае DVD1, можно увидеть ниже.
Теперь давайте проверим, можем ли мы получить информацию, которую мы только что ввели, используя резервный MODX, getResources .Если вы еще этого не сделали, загрузите и установите getResources , используя Extras => Installer
На соответствующей странице, в моем случае с именем listproducts , вставьте следующий код, не забывая определить необходимые Chunks в данном случае prodRow .
Здесь должны быть перечислены все дочерние ресурсы в формате, продиктованном блоком prodRow , который может выглядеть примерно так:
См. Страницу listproducts здесь.
Конечный результат должен выглядеть примерно так: —
компакт-диски
Книги
DVD
верх
Создание блога в MODX Revolution
Зачем вести блог с MODX?
Medium, Squarespace, Wix, WordPress, генераторы статических сайтов … список жизнеспособных платформ для ведения блогов можно продолжать и продолжать. Обсуждение того, почему MODX является (или нет) хорошим выбором, исчерпывающе освещено в другом месте. Просто погуглите «почему именно modx» или «modx vs wordpress» или посетите modx.com. Если вам интересно, почему MODX не так популярен, ознакомьтесь с этой статьей.
Сегодня мы просто предполагаем, что вы выбираете менее популярный путь и хотите использовать MODX для создания блога. Вот как можно начать примерно через час.
Почему этот учебник?
В документации MODX есть руководство по созданию блога. На мой взгляд, он немного устарел и добавляет ненужную сложность с функциями, которые, возможно, не так уж и важны в наши дни. В то же время Я бы не стал менять эту часть документации , так как она очень полезна для тех, кто хочет получить более подробную картину.
Как ни странно, можно наблюдать тенденцию в дизайне блогов к минимализму (или, по крайней мере, то, что часть блоггеров хочет минималистичный дизайн и функциональность), и это руководство предназначено для них или кого-то, кто создает для них блог на MODX.
Что вам нужно
Помните, это о минимализме. Следующее дает вам только основы и не более того.
Установить MODX
Это описано здесь.
Системные настройки
Дополнительно
Вам действительно понадобится всего несколько дополнений MODX, чтобы обеспечить критически важные функции для блога.Существуют альтернативы следующему, но, если не указано иное, все они были разработаны членом основной команды MODX, стабильны и поддерживаются в хорошем состоянии.
- getResources. Требуется для перечисления сообщений в блогах.
- Tagger. Возможно, потребуется для категоризации контента.
- Коллекции. Вероятно, потребуется, так как это значительно упрощает управление структурированным контентом блога.
- getPage. Возможно, потребуется, если вы хотите разбить свои объявления на страницы.Плюс это может помочь с производительностью.
Дополнительные бонусы
Они не рассматриваются в этом руководстве, но, скорее всего, вам понадобятся они или альтернатива, обеспечивающая аналогичную функциональность.
- Редактор Markdown. Вероятно, потребуется какой-то текстовый редактор, иначе публикация была бы неудачной. Есть и другие очень хорошие варианты.
- FullTextSearch. Это Extra, который я выпустил недавно, поэтому он не пользуется таким же успехом, как другие.Тем не менее, я провел 5 лет в основной команде MODX, и у меня есть несколько дополнений в официальном репозитории, которые я стараюсь поддерживать в относительно хорошем состоянии, если это подавляет чувство отказа от программного обеспечения. FullTextSearch предоставляет полезные функции поиска и настраиваемый индекс без каких-либо сторонних зависимостей. Стандартный стандартный поиск SimpleSearch имеет свои особенности, но он прошел серьезную проверку в боевых условиях и поддерживается различными членами основной команды в течение многих лет.
- Ace. Редактор кода для использования в Менеджере.Экстра, разработанная сообществом, широко используется, но нечасто обновляется. Он хорошо работает и выглядит красиво, если говорить о кодах.
- pThumb Если вы хотите изменить размер изображений на веб-сервере, лучшим дополнением для использования IMO является pThumb, несмотря на то, что он устарел. Он по-прежнему хорошо работает и поставляется с механизмом изменения размера, называемым «Resizer», который является быстрым и надежным.
Реализация
Мы будем использовать пример разметки блога Twitter Bootstrap. В этом репозитории на github размещается устанавливаемый Extra, содержащий элементы MODX в этой сборке.
ПРИМЕЧАНИЕ: Если вы новичок в MODX, вы должны знать, что НИ ОДИН из этих элементов не установлен по умолчанию. MODX — это чистый лист. Шаблоны и блоки — это элементы, которые обслуживают уровень представления. Вы помещаете туда HTML, используете синтаксис тегов MODX для их включения, а MODX отображает HTML точно так, как вы его настроили, с заполнением переменных-заполнителей. Это общепринятая передовая практика, хотя все делают по-своему.
Теги и токены MODX
Для краткости в следующих разделах давайте проясним некоторые вещи о синтаксисе тегов MODX.
- Теги MODX начинаются с
[[
и заканчиваются на]]
(Да, иногда это противоречит синтаксису вложенного массива JavaScript. Остерегайтесь этого.) - Жетон может следовать за открывающими фигурными скобками.
- Если токен отсутствует
[[
является вызовом сниппета, то есть MODX выполнит некоторую логику, хранящуюся в объекте сниппета с именем, указанным в теге, например[[getResources]]
. - Если звездочка
[[*
Token, значение извлекается из текущего обработанного ресурса MODX (страница). - Если плюс
[[+
Token, значение заполняется либо свойствами содержащего элемента, либо фрагментом, который был настроен для заполнения заполнителей этого типа. - Если двойной плюс
[[++
Token, значение взято из конфигурации MODX или Settings. Это может быть настройка системы, настройка контекста, настройка группы пользователей или настройка пользователя. - Если знак доллара
[[$
Token, значение представляет собой отображаемое содержимое блока MODX с именем, указанным в теге, например,[[$ head]]
. - Если тильда
[[~
Token, выходным значением является URI ресурса с идентификатором, указанным в теге. Например,[[~ 1]]
создает ссылку на идентификатор ресурса1
. Вывод может быть изменен с помощью свойства& scheme
, чтобы он был полностью сформированным, совместимым со схемой, абсолютным или относительным. - Если восклицательный знак
[[!
Токен (как единственный токен или предшествующий любому другому токену) вывод тега обрабатывается как некэшируемый.Это для контента, который зависит от ввода данных пользователем, или для динамического контента, который может изменяться по запросу. Примечание. НЕ обязательно использовать этот токен для содержимого, которое изменяется для каждого ресурса — только для содержимого, которое изменяется в соответствии с запросом.
- Если токен отсутствует
Шаблоны
Если вы откроете ссылки кода в новой вкладке, вы можете ссылаться на код, следуя руководству здесь.
Вам действительно нужен только 1 шаблон MODX для ведения минимального блога.Этот шаблон содержит следующие теги MODX, в которых происходят «динамические» MODX-y:
-
[[$ head]]
вызывает блок, содержащий глобальный элемент -
[[$ header]]
включает Чанк с глобальным
и навигацией. -
[[$ jumbotron - [[* class_key]]]]
— это один из примеров того, как вкладывать теги MODX производительно, но гибко.[[* class_key]]
получает атрибутclass_key
из текущего ресурса.В этой сборке будут использоваться только два значения:CollectionContainer
илиmodDocument
. Первый используется для контейнера блога, где последняя запись блога используется для создания jumbotron. Последний предназначен для самих сообщений в блогах, где заголовок сообщения и метаданные попадают в jumbotron. MODX сначала разбирает вложенные теги. В случае сообщения в блоге результирующий тег будет выглядеть так:[[$ jumbotron-modDocument]]
, что мы и назвали одним из наших блоков.(Другой —[[$ jumbotron-CollectionContainer]]
.) -
[[[[* class_key: is = `CollectionContainer`: then =`! $ Blog -isting`: else = `$ blog-article`]]]]
— еще один хитрый способ создания тегов MODX. Мы запускаем условную проверку во вложенном теге. ДляCollectionContainer
мы получим[[! $ Blog -isting]]
, а для сообщения мы получим[[$ blog-article]]
. Эти куски используются по-разному. Обратите внимание на! Токен
для записи блога.Это позволяет нам обслуживать динамический контент, например список сообщений блога, отфильтрованный пользователями. -
[[$ aside]]
отображает элемент боковой панели.
Куски
головка
Содержит только несколько тегов MODX. [[* pagetitle]]
будет заполнен заголовком с текущей страницы, аналогично [[* description]]
. [[++ modx_charset]]
— конфигурация системы, часто «UTF-8». [[~ [[* id]]? & scheme = `full`]]
создает полностью сформированный URL-адрес, включая схему, имя хоста, путь и базовое имя, действительный для текущего ресурса. [[$ styles]]
вызывает блок стилей , который содержит ссылки CSS и теги стилей.
** ОБНОВЛЕНИЕ: спасибо @lucy_i из сообщества MODX за указание на то, что в этом примере отсутствовал тег
, который является общим для сайтов MODX, но не повсеместно используемый метод включения относительных ссылок.MODX по умолчанию генерирует ссылки относительно переменной конфигурации site_url
. Если вы не измените это, вы захотите, чтобы базовый тег заставлял внутренние ссылки работать 🙂
Заголовок
Это набор примеров разметки для заголовка с такими функциями, как подписка на рассылку новостей и поиск. Подписки выходят за рамки этого руководства, но вот материал MODX-y:
-
[[++ site_start]]
— это идентификатор ресурса, который является домашней страницей сайта.Системная настройка с ключомsite_start
содержит это значение. Значение по умолчанию —1
, поэтому внешний тег формируется как:[[~ 1]]
, генерируя ссылку на домашнюю страницу. Скоро мы снова увидим[[++ site_start]]
. -
[[++ site_name]]
— это еще одна системная настройка, которую мы настроили выше. -
[[TaggerGetTags? & groups = `2` & rowTpl =` tag_link` & showUnused = `1`]]
вызывает сниппет TaggerGetTags, который поставляется с Tagger Extra.Он возвращает список тегов Tagger с использованием блокаtag_link
в качестве шаблона, в результате чего открывается главное меню сайта. Свойство& showUnused
указывает сниппету показывать все теги в теге& groups
2
независимо от того, был ли им помечен ресурс. Вы также можете передать псевдоним группы, например,категория
. Обратитесь к документации Tagger для более подробной информации.
jumbotron-Collection Контейнер
Это для контейнера блога.Он извлекает метаданные сообщения из последнего сообщения в блоге и заполняет элемент jumbotron.
[[getResources?
& Родители = `[[++ site_start]]`
& глубина = `0`
& limit = `1`
& tpl = `post_meta`
]]
getResources
— это сниппет утилиты для перечисления ресурсов MODX. Свойство и родители
сообщает ему, что он должен перечислить ресурсы, которые являются дочерними по отношению к ресурсу с этим идентификатором. В этом случае мы устанавливаем его на домашнюю страницу, которая также является нашим основным ресурсом контейнера блога.Свойство & depth
указывает ему не выполнять рекурсию вниз по дереву ресурсов — в нашем случае все сообщения блога являются непосредственными дочерними элементами контейнера блога. Мы будем обрабатывать таксономию с помощью Tagger Extra и избегать сложной вложенности ресурсов. Свойство & limit
указывает ему возвращать только 1 результат. Мы просто хотим заполнить jumbotron, а не перечислить кучу сообщений — это будет позже.
Свойство & tpl
, вероятно, наиболее интересно, если вы новичок в MODX.Он ссылается на блок, который будет использоваться в качестве шаблона для каждого возвращаемого сообщения. Шаблон получает все атрибуты ресурса, переданные ему в качестве заполнителей. Мы рассмотрим это дальше.
post_meta
Заполнители здесь заполняются значениями поля Resource вызывающим фрагментом, getResources
.
-
[[+ pagetitle]]
получает название ресурса. -
[[+ description: is = `: then =` `: else =`
— это условное выражение, которое обертывает значение поля описания, только если поле не пустое.[[+ description]]
`]]
-
[[+ publishedon: date = `% b% d,% Y`]]
использует выходной фильтр даты для форматирования метки времени публикации, чтобы ее можно было легко прочитать.
Независимо от количества ресурсов, возвращенных getResources
, он применит этот шаблонный блок к каждому из них и выведет коллекцию результатов. Это поведение легко настраивается с помощью мощных функций создания шаблонов. Подробнее о getResources
читайте здесь.
jumbotron-mod Документ
Отдельные сообщения блога показывают элемент jumbotron, который немного отличается — он не включает поле описания ресурса.Это пример того, как блоки MODX помогают нам оставаться СУХИМИ. Мы можем вызвать чанк [[$ post_meta]]
напрямую. Это не значит, что должен вызываться сниппетом . Мы не передаем свойство & description
, поэтому условное выражение внутри блока $ post_meta
оценивается как пустая строка и пропускает
.
blog_listing
Здесь мы перечисляем сообщения блога в контейнере блога.
[[! GetPage @ blog? & cache = `1` & element =` getResources`
& Родители = `[[++ site_start]]`
& глубина = `0`
& limit = `8`
& includeContent = `1`
& tpl = `blog_listing-item`
& where = `[[! TaggerGetResourcesWhere]]`
]]
Фрагмент getPage разбивает выходные данные фрагмента, указанного в свойстве & element
.Он может и кэшировать
результатов на основе параметров запроса. Так, например, & page = 2
будет кэшироваться отдельно от & page = 3
. Остальные свойства передаются и настраиваются в сниппет getResources
. Здесь есть одна проблема: и includeContent
, о которых полезно знать. По сей день (буквально, когда я пишу это на самом деле) меня ловит этот. Если вы ожидаете получить доступ к полю содержимого ресурса внутри указанного блока & tpl
, то вы должны указать getResources от
до и includeContent
— он отключен по умолчанию для повышения производительности и экономии памяти.
Свойство & where
является очень мощной функцией getResources
. Подробнее об этом можно прочитать в документации здесь. В этом случае мы вызываем TaggerGetResourcesWhere
Snippet. Tagger Extra устанавливает плагин, который направляет запросы к ресурсу MODX, превращая биты URL в параметры GET. Например, https://example.com/category/world
будет на сервере https://example.com/?category=world
, но в браузере будет сохраняться красивый URL. TaggerGetResources Где
превращает параметры GET в предложение WHERE
, отформатированное с синтаксисом JSON, которое сниппет getResources
может анализировать и добавлять в свой запрос.
Результат тега MODX выше с параметрами GET category = world
на английском языке: «Получите до 8 ресурсов, которые являются прямыми дочерними элементами контейнера блога домашней страницы и помечены категорией world
, затем шаблон каждого результат с блоком blog_listing-item
Chunk.»Подробнее о том, как настроить Tagger, мы расскажем ниже.
blog_listing-item
Этот блок содержит больше заполнителей для полей ресурса. Обратите внимание на синтаксис модификатора вывода, который на самом деле может вызывать пользовательский фрагмент [[+ content: firstp]]
. Этот тег передает значение поля содержимого фрагменту firstp
в переменной $ input
. Фрагмент более подробно описан ниже, но он содержит логику для возврата первого тега
во входных данных.
blog_article
Это настолько просто, насколько возможно. Он просто оборачивает запрошенное в данный момент поле содержимого ресурса некоторой разметкой.
в сторону
«Помимо» обычного HTML, здесь есть один тег MODX: [[TaggerGetTags? & groups = `1` & sort =` {"alias": "DESC"} `& rowTpl =` tag_li`]]
, который использует указанный блок шаблона для форматирования вывода тегов в & groups
1
.Обратите внимание, что эти теги отсортированы по псевдонимам — подробнее об этом позже.
Фрагменты
firstp
Единственная настраиваемая бизнес-логика в этой сборке сайта создает экземпляр класса DOMDocument php и использует его для извлечения первого элемента
. Остальной код фрагмента и подключаемого модуля устанавливается вместе с дополнительными функциями, перечисленными выше.
Таксономия
Tagger — это универсальная утилита для управления таксономией в MODX.Концептуально это похоже на переменные шаблона MODX (TV) и аналогично имеет высокую степень гибкости, но значения тегов ограничены строками из 100 символов. Запросы сниппетов, которые он выполняет, более производительны, чем запросы, использующие телевизоры для таксономии (наиболее заметны в масштабе).
Tagger устанавливается с помощью так называемой CMP («Custom Manager Page») страницы для управления тегами.
Вы начинаете с групп тегов, потому что каждый тег должен принадлежать к группе. При настройке групп тегов можно выбирать из множества вариантов — все подробности есть в документации Tagger.В нашей сборке у нас Категория
и Архив
. Одна из обязательных настроек группы — сделать их доступными для нашего шаблона блога.
Затем мы создаем теги под каждой Группой. Основная навигация нашего примера блога демонстрирует общий вариант использования таксономии сообщений блога, в которой каждое сообщение принадлежит к категории, а основная навигация ведет вас на страницу, на которой перечислены все сообщения, отнесенные к определенной категории. Реализация TaggerGetResourcesWhere
в контейнере блога обеспечивает это за нас.Нам просто нужно создать теги в группе Category
и назначить сообщения (ресурсы) этим тегам.
Мы делаем то же самое для Архив
. Вы можете выполнить кучу сложной логики вокруг временных меток публикации постов, чтобы упростить архивные функции, но на самом деле это делает ту же работу и дает издателю возможность принимать окончательные решения относительно используемой схемы архивирования и того, как назначать каждую публикацию. . На самом деле временные архивы — это просто произвольные группы сообщений — возможно, вы хотите делать это еженедельно или ежеквартально.Tagger позволяет вам это делать, и это намного более простая реализация с точки зрения кодовой базы.
В нашем случае мы только что создали несколько тегов по месяцам.
Здесь стоит отметить одну небольшую хитрость: псевдоним каждого тега использует сортированный формат даты
гггг-мм
, а имя
и ярлык
имеют более понятный для человека тип "сентябрь 2019". Это поддерживает вариант использования ссылок на отсортированные архивы дат в блоке $ aside
, как описано выше.Однако вы можете настроить его, как хотите.
Ресурсы
Домашняя страница / Блог Контейнер
При установке MODX поставляется с одним ресурсом - домашней страницей. Если вы прикрепите к нему шаблон блога из этого руководства, вы сможете предварительно просмотреть этот простой блог во всем его минималистичном великолепии по базовому URL-адресу вашего сайта.
На панели настроек ресурса измените тип ресурса
на Коллекции
и сохраните.
Теперь вы должны увидеть сетку контейнера коллекций. После того, как вы создали несколько дочерних ресурсов (сообщения в блогах), они должны выглядеть примерно так:
Это представление разбито на страницы, а дополнительные коллекции предоставляют целый ряд удобств и настроек, позволяющих сделать управление коллекцией ресурсов, например блогом, НАМНОГО лучше. Это значительно улучшенная и менее самоуверенная версия движка блога «Статьи». Подробнее о Коллекциях читайте в документации.
Демо
Облачный сайт MODX был развернут только с описанными здесь элементами. Вы можете просмотреть его по адресу: http://example-blog.sepiariver.modxcloud.com/. Чтобы воспроизвести тот же результат:
- Начните с новой установки MODX 2.7.1.
- Настройте параметры системы, как описано выше.
- Установите пакет в репо. Это можно сделать, выбрав «Загрузить пакет» в раскрывающемся списке в установщике дополнительных услуг.
- Следуйте инструкциям по установке зависимых дополнительных компонентов.
- Внесите изменения в шаблон и тип ресурса на домашней странице, как описано выше.
- Настройте Tagger, как описано выше.
- Создайте сообщение в блоге.
Это быстрый и простой способ. Удачного использования MODX… или ведения блога… или и того, и другого!
MODX
Фильтр компании:
AllAbletonAccessAdamAIRAlesisApple - LogicArturiaASMAudio TechnicaAvidBehringerBehringerCasioDave Smith Instruments / SequentialElektronEvent ElectronicsFocusriteGatorHalionIk MultimediaKetronKönig & MeyerKorgKurzweilM-AudioMoogMuse ResearchNative InstrumentsNordNovationPresonusQuiklokRadikalRCFRolandsamplesSpectrasonicsSteinbergStudio ElectronicsStudiologicTeenage EngineeringU-HEUltimate SupportWaldorfYamaha
Результаты 1-15 из 70
510152050
Добавьте свой товар! Зарегистрируйтесь бесплатно и начните продавать свои звуки...
Производитель: YOU
256 исполнений, 16 Live Set, 2 Live Set Songs и 19 MIDI-композиций, чтобы расширить возможности Yamaha Modx.
Производитель: GrimFlash Production
Этот набор предназначен для тех, кто любит музыку Pink Floyd.Он предоставляет несколько сэмплов с циклическим воспроизведением и сложные сплиты для вашего Yamaha MODX.
Производитель: мультивендор
Этот новый пакет для Yamaha MODX включает в себя новые формы волны, семплированные легендарными Roland D50 и Korg M1.
Производитель: мультивендор
Этот набор предназначен для тех, кто любит музыку Pink Floyd и Genesis.Он предоставляет несколько сэмплов с циклическим воспроизведением и сложные сплиты для вашего Yamaha MODX.
Производитель: мультивендор
Этот новый комплект для Yamaha MODX включает формы сигналов, сэмплированные легендарными рабочими станциями Korg Triton и Korg M1.
Производитель: мультивендор
Огромный набор для Yamaha MODX, вдохновленный легендарной Steinway Model D.и Steinway Z Upright Piano.
Производитель: мультивендор
Набор звуков, вдохновленных самыми известными песнями Pink Floyd и Toto для Yamaha MODX ... 54 новых звука!
Производитель: fabio
Этот комплект представляет собой сборник сэмплов для фортепиано, тщательно записанных для идеальных живых и студийных выступлений... 16 новых звуков!
Производитель: ITB-Music
Основываясь на недавно записанных сэмплах патча Child Piano знаменитого красного сценического фортепиано, мы тщательно запрограммировали эту библиотеку, чтобы правильно передать прикосновение, динамический диапазон и элегантный, естественный и хорошо сбалансированный тон оригинала... 4 новых звука!
Производитель: ITB-Music
Основываясь на недавно записанных сэмплах патча Silver Grand Piano знаменитого красного сценического фортепиано, мы тщательно запрограммировали эту библиотеку, чтобы правильно передать прикосновение, динамический диапазон и элегантный, естественный и хорошо сбалансированный тон оригинала... 4 новых звука!
Производитель: ITB-Music
Основываясь на недавно записанных сэмплах патча Grand D Piano знаменитого красного сценического фортепиано, мы тщательно запрограммировали эту библиотеку, чтобы правильно передать прикосновение, динамический диапазон и элегантный, естественный и хорошо сбалансированный тон оригинала... 4 новых звука!
Производитель: ITB-Music
Основываясь на недавно записанных сэмплах патча Imperial Grand от знаменитого красного сценического фортепиано, мы тщательно запрограммировали эту библиотеку, чтобы правильно передать прикосновение, динамический диапазон и элегантный, естественный и хорошо сбалансированный тон оригинала... 4 новых звука!
Производитель: ITB-Music
Этот комплект представляет собой сборник сэмплов для фортепиано, тщательно записанных для идеальных живых и студийных выступлений ... 16 новых звуков!
Производитель: ITB-Music
Отличный набор для любителей звука Dream Theater.Обложки с изображениями и словами + сцены из воспоминаний.
Производитель: Inemokeys
Этот сборник содержит все звуки, необходимые для воспроизведения полного студийного альбома "Scenes from a memory" американской прогрессив-метал / рок-группы Dream Theater ...
Производитель: Inemokeys
Yamaha-MODX - Synthcloud
Фильтровать по
All80's80 в Hits80s80s Обложка Pack90'sa100 organA100 Vintage Packamberamerican preludeAmerican Prelude D Pianosb3Best HitsBon Jovibrightbruno marsC-Семь Гранд PianoC7C7 и surroundingschildclassiccompleteComplete Пианино Anthologyconcert pianocontemporary pianoContemporary pianosContemporary Пианино Красный EditionCovercover 80'scover collectioncover packcoverlogiad50D50 Vintage Packdave кузнец instrumentsDefinitive Black & White PianoDepeche Modedrawbarsdream theaterdw 800emulatoremulator IIemulator марочные packEuropeevolutionexpexpansionfamous soundsfazioliFloydian Обложка PackfmgenesisgenesynthGenesynth Обложка Packgrandhammondhammond cloneHammy Clonehitsimagesimperialjazzjd 800jordan rudessJRockJxk amberkevin moorekeyboard toolskeyskorgkorg m1korg tritonLA Родос Электрический Pianolead packLeadsLeads пакет MKIIILight Pianolinear synthesizerm1M1 Vintage PackMellotronMetalMichael JacksonMKII Electric Pianomkii rhodesmodel dmodel г yamahamodxMonstermonster packMonster пакет В.1Monster пакет V.2montagemoreMOXNightwish CollectionNighwishnord pianoone visionOne видения Обложка Packorganorgan vintagePackpadPad soundsPatches Of An Erapeter gabrielpetrofPetroph в вертикальном положении pianoPF Обложка EXPPF Обложка Пакет V3phil collinspianopiano & keysPiano ключи & morePiano Ключи и больше V.2piano librarypianospink floydPinkFloydpower metalProgressiveProph 5 Vintage Packprophet 5queenRealeyety Sound Bankred brightred royalrhodesrichard wrightrihannarockrolandroland d50royalsamplesample librarysampled pianosamplesscenes из memorysfamsilverstan & whyStanWhy Z Вертикально LibrarySteineway pianosteinwayStudio GrandSuper JxSUPER JX-LOGIAsymphonic metalsynthsynthesizert9t9T9T9 Обложка PackT9T9 EvolutionTalk TalkThe Клавиатура Toolstony banksTotoTriton-Logia Урожай PackTron PackTuomas HolopainenUniversal Padsuprightupright pianov3velvetvintagevintage synthvolume 2wordsworkstationwurlitzerWurly 140Byamahayamaha c7Yamaha MODX
Сортировка по
РекомендуемыеЛучшие продажиАлфавит, A-ZАлфавит, Z-APrice, от низкого к высокомуЦена, от высокого к lowDate, от старого к newDate, от нового к старому
Список изменений для коллекций.Коллекции 3.6.0
===================
- Добавить преобразователь таблиц синхронизации
- Добавлены 3 опции для ускорения больших дочерних списков (+ 10К ресурсов)
- Исправлена сортировка D&D для ресурсов в глубине> 1
Коллекции 3.5.0
===================
- Добавить collections.renderer.boolean renderer
- Добавить совместимость с AjaxManager
- Отрегулируйте положение других столбцов при создании / обновлении столбца с указанной позицией
- Добавить параметр excludeResources в фрагмент getSelections
- Предотвратить сброс просмотра Коллекции после быстрого обновления ресурсов
- Используйте лексиконы для кнопки Открыть
- Добавить эллипс переполнения в главный столбец
- Добавить область в системные настройки
Коллекции 3.4.2
===================
- Исправлено сохранение значений телевизора из обновления из сетки
- Исправлено после события сохранения, запущенного при обновлении из сетки
Коллекции 3.4.1
===================
- Исправлена бесконечная перезагрузка Safari.
- Исправить выбор при сортировке по menuindex
Коллекции 3.4.0
===================
- Передать имя столбца средству рендеринга сниппета
- Предотвратить постоянную сортировку, нарушающую сортировку D&D
- Добавить рендерер Collections.renderer.buttons
- Разрешить рендеринг фрагментов в несуществующем столбце
- Добавить имена событий для обновления из процессора сетки
- Показывать папки под коллекциями
- Показывать хлебные крошки при просмотре папок в коллекциях
- Импорт / экспорт представлений коллекции
- Добавить быстрое обновление для сбора и выбора детей
- Запретить сохранение столбцов с помощью модуля рендеринга из сетки
- Добавить новые системные настройки для отображения кнопки создания коллекции / выбора на древовидной панели инструментов.
- Отображение идентификатора ресурса в окне ресурса ссылки
- Настроить цвета в сетке коллекций
Коллекции 3.3.0
===================
- Показать назначенные шаблоны в сетке просмотра Коллекции
- Исправить игнорирование родителей для pdoResources
- Добавить «Условие для окна ресурса ссылки» в качестве настройки для просмотра выбора.
- Исправлено отображение ContentBlocks, когда контент находится на отдельной вкладке
- Исправлена проверка использования шаблона в представлениях.
Коллекции 3.2.2
===================
- Исправлена сортировка D&D для столбцов просмотра Коллекции.
- Добавлен Collections.renderer.pagetitleWithIcons.
- Улучшен обработчик встроенных кнопок действий, позволяющих использовать значки.
- Исправлена сортировка D&D, когда menuindex установлен как поле сортировки по умолчанию
- Переименовать тип сортировки String
Коллекции 3.2.1
===================
- Исправить обновление с предыдущих версий
Коллекции 3.2.0
===================
- Добавить тип сортировки в качестве настройки столбца шаблона новой коллекции
- Добавить постоянную сортировку
- Автоматическая установка метки столбца из заголовка ТВ или имени группы тегов
- Передавать значение столбцов в качестве входных данных для средства визуализации сниппета
- Добавить тип сортировки в качестве новой настройки просмотра коллекции.
- Добавить расположение содержимого в качестве настройки просмотра новой коллекции.
- Добавить родителя в качестве настройки представления новой коллекции
- Сделайте колонки ТВ доступными для поиска
- Используйте modx-> getTableName, чтобы получить имена таблиц для таблиц Tagger
- Показать значение по умолчанию для телевизора в сетке
- Очистить фильтр, использовать поле сортировки и каталог из представления
- Предотвратить ошибку, не передавая шаблоны ресурсов в представлении коллекции
Коллекции 3.1.1
===================
- Исправлено отображение (пустого) шаблона в поле выбора дочернего шаблона.
- Исправлен путь к изображению в рендерере
- Исправлены дочерние элементы, переупорядочивающие D&D при выборе элемента или дерева файлов.
- Исправлена кнопка возврата к сбору / выбору для статических ресурсов / веб-ссылок / символических ссылок.
- Исправлена кнопка возврата к коллекции / выбора при создании новой дочерней страницы.
Коллекции 3.1.0
===================
- Исправлена кнопка сброса фильтра в разделе "Выбор".
- Добавлена возможность установить значения по умолчанию для типа контента для новых детей.
- Добавлена системная настройка для изменения пути к изображению в рендерере изображений.
- Разрешить детям в разделе "Выбор"
- Добавлена возможность добавить колонку quip.
- Исправлен выбор шаблонов в представлении Коллекции в Revo 2.2.x
- Добавлена возможность установить значения по умолчанию для скрытого меню, опубликованного, кешируемого, доступного для поиска и расширенного текста для новых детей.
- Добавлена возможность указать сортировку для поискового запроса ресурса Selections.
- Добавлена возможность установить метку для кнопки «Назад в коллекцию / выбор».
- Исправлено отображение сетки выбора с телевизорами
- Передать целую строку средству рендеринга фрагментов
- Исправлена сортировка по ТВ с тире в названии
Коллекции 3.0.2
===================
- Исправлено сохранение представления коллекций из вкладки настроек ресурса.
- Связать ресурс с выделением можно с помощью поиска по идентификатору
- Исправлена передача формата sort dir int в верхнем регистре в getSelections.
- Удалена опция родителей из вызова getSelections.
Коллекции 3.0,1
===================
- Исправлено обновление из сетки
Коллекции 3.0.0
===================
- Добавлена проверка имени столбца, если он содержит точку
- Добавлен рендерер PHP (сниппет), который будет использоваться для столбца
- Добавлена опция просмотра для определения классов ресурсов, которые будут доступны при выборе типа ресурса.
- Добавлена опция просмотра для определения пунктов контекстного меню.
- Добавлена опция просмотра для определения кнопок и их стиля.
- Исправлено сохранение параметров просмотра из неактивированной вкладки
- Изменен значок дерева по умолчанию для коллекций в Revo 2.3
- Добавлен сниппет getSelections (работает с getPage, getCache и т. Д.)
- Обновлен вид вкладки настроек Коллекции.
- Обновлен просмотр коллекций.
- Добавлен CRC для выбора.
- Добавлена кнопка возврата для дочерних элементов Коллекции и возврат кнопки закрытия к исходной функциональности
- Запускать OnBeforeEmptyTrash и OnEmptyTrash при удалении ресурса через коллекции
Коллекции 2.2.2
===================
- Исправлен рендеринг столбцов TV и Tagger с тире в имени / псевдониме.
Коллекции 2.2.1
===================
- Исправлена совместимость с PHP 5.2.
Коллекции 2.2.0
===================
- Добавлена возможность установить положение поля Контент.
- Добавлены параметры для установки ярлыка вкладки и новой дочерней кнопки.
- Добавлен Collections.renderer.image для рендеринга изображений.
- Добавлены вкладки в представления коллекции, чтобы разделить ее настройки.
- Разделенная вкладка настроек для вкладок vtabs для настроек ресурса и настроек коллекций.
- Улучшена кнопка закрытия в дочерних элементах коллекции.
- Исправлено отображение данных в столбцах ТВ.
- Добавлена возможность безвозвратно удалить удаленный ресурс
- Исправлено повторяющееся действие из контекстного меню.
- Добавлен контроллер данных для отображения страницы обзора ресурсов.
- Исправлено добавление # к URL-адресу менеджера при нажатии кнопки
- Исправить ошибку строгих стандартов (PHP 5.4+) в процессоре ресурсов / списков получения
- Исправить неработающую ссылку для редактирования при щелчке по заголовку страницы в сетке.
Коллекции 2.1.0
===================
- Добавлена возможность дублировать представление Коллекции
- Обновлен макет для создания / обновления столбца представления.
- Добавлен просмотр, обновление, удаление, дублирование, публикация элементов в контекстное меню детской сетки.
- Добавлен дочерний шаблон по умолчанию, тип ресурса по умолчанию и возможность выбора типа ресурса в шаблоны коллекции.
- Исправлена кнопка просмотра
- Исправлены сообщения журнала от плагина
Коллекции 2.0,2
===================
- Исправлены рендеры даты и времени
Коллекции 2.0.1
===================
- Исправлено сохранение контейнера коллекций в Revolution 2.2.x
Коллекции 2.0.0
===================
- Добавлены шаблоны коллекций
- Добавлена возможность создавать разные дочерние типы из сетки
- Поддержка Revolution 2.3
Коллекции 1.3.3
===================
- Удалить вызов отладчика: X
Коллекции 1.3.2
===================
- Исправление для диалога подтверждения навигации
- Исправлен выбор нескольких строк
- Исправлена проверка на Tagger
Коллекции 1.3.1
===================
- Выпуск с правильным номером версии
Коллекции 1.3.0
===================
- Поддержка Tagger в поле поиска на вкладке Children
- Добавлена возможность перетаскивать дочерний элемент в дерево ресурсов для смены родителя.
- Обновлена английская и немецкая лексика.
Коллекции 1.2.0
===================
- Добавлена возможность поиска через созданное по полному имени
- Добавлена возможность поиска через созданное по имени пользователя
- Исправлено переключение ребенка между двумя коллекциями
- Исправлено переключение отличного родителя на Коллекции при перемещении последнего ребенка
- Исправлено имя ребенка после создания дубликата
- Добавлена сортировка перетаскиванием по индексу меню.
Коллекции 1.1.1
===================
- # 20 Исправлено после повторного сохранения дочернего набора show_in_tree 1
Коллекции 1.1.0
===================
- # 9 Добавлена кнопка дублирования
- # 10 Добавлен значок коллекции в дерево ресурсов
- # 11 Сделать сетку с отслеживанием состояния и добавить еще несколько столбцов (до очистки кеша сетка сохраняет отображаемые / скрытые столбцы и их порядок)
- "Сборник" переименован в "Сборник".
- # 7 Добавлен немецкий перевод (спасибо pepebe)
- # 12 Добавлен чешский перевод
- # 14 Добавлен голландский перевод (спасибо @mark_hamstra)
- # 15 Добавлен французский перевод (спасибо @rtripault)
- # 16 # 17 Добавлен русский перевод (спасибо vanchelo)
- # 18 Исправлен конфликт show_in_tree
Коллекции 1.0,0
===================
- Публикуется в дополнениях MODX
Коллекции 0.8.2
===================
- Завершено переименование CollectionsContainer -> CollectionContainer.
- Удалены вызовы журнала chromephp.
Коллекции 0.8.1
===================
- Исправлено отображение псевдонимов в дочерней сетке.
Коллекции 0.8.0
===================
- CollectionsContainer переименован в CollectionContainer.
- Исправлено возвращение правильного количества детей в контейнере для сбора.
Коллекции 0.7.0
===================
- Добавлен обратный преобразователь, который переключит все контейнеры коллекций обратно на modDocument и установит для show_in_tree значение 1 для всех дочерних коллекций при удалении.
- Добавлена поддержка переключения class_key дескриптора из CollectionContainer и в CollectionContainer.
Коллекции 0.6.0
===================
- Исправлено правильное отображение контейнера коллекций под другим контейнером коллекций.
- Исправлено правильное отображение нормальных контейнеров с детьми под CRC.
- Добавлен слушатель для события Before Empty Trash, чтобы скрыть ресурсы, которые находятся в контейнере коллекций и у которых не будет других дочерних элементов после очистки корзины.
Коллекции 0.5.0
===================
- Обновлен плагин для внедрения JS для обработки кнопки отмены на панели обновления ресурсов.
Коллекции 0.4.0
===================
- Добавлен плагин, который обрабатывает правильную установку параметра show_in_tree для ресурсов после создания нового ресурса или сортировки ресурсов.
Коллекции 0.3.0
===================
- Визуальные улучшения для сетки с детьми
Коллекции 0.2.0
===================
- Расширенная панель обновления ресурсов с новой вкладкой, которая содержит сетку с дочерними элементами
Коллекции 0.1.0
===================
- Первый выпуск.
xRS для MODx отображает коллекции и фотографии ResourceSpace | xRS MODX экстра
Action collection_list возвращает список коллекций (наборы фотографий).
По сравнению с collection_single, collection_list отображает несколько наборов фотографий / коллекций с прикрепленными изображениями или без них по категориям.
Возможна фильтрация по категории (тема RS), в этом примере темы RS определяют типы наборов фотографий, такие как Feature , Project и Series . Каждую из этих категорий необходимо определить во время загрузки или редактирования атрибутов коллекции (например, здесь: http://yourresourcesoace.net/pages/collection_manage.php ).
Пример
[[! Xrs?
& action = `collection_list`
& cat = `проект`
& sortby = `имя`
& tpl = `xrsCollSingle1`
& tplImg = `xrsImg1`
& includeImg = `1`
]]
Параметры фрагмента
Опция | Значения | По умолчанию / Примечания |
---|---|---|
действие | collection_list | |
кот | Должен соответствовать теме RS | |
тпл | отладка xrsCollSingle1 настраиваемый фрагмент | Внешний шаблон |
tplImg | xrsImg1 xrsImg2 xrsImg3 xrsImg4 настраиваемый фрагмент | Шаблон для каждого элемента изображения |
Сортби | название создано | |
предел | Для использования с pdo Страницы |
Démos
xRS collection_list & pdoСтр.