Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Определение Установка и удаление Назначение и использование Описание настроек сниппета If Switch Wayfinder getResources getPage Breadcrumbs SimpleSearch Gallery phpThumbOf
Определение
Сниппеты – это куски PHP кода, которые позволяют добавлять функциональность в MODx сайт. Согласно официальной документации:
Сниппеты – это ответ MODx на внутренний PHP код. Они обеспечивают пользовательский динамичный контент, такой как меню, блоги или новые списки и другие функциональные блоки и что еще угодно, что сайт должен генерировать по запросу.
Сниппеты позволяют добавлять такую функциональность как навигацию, записи твиттера, поиск, галереи образов, формы контактов, вместилище контента, комментарии в MODx сайт без необходимости написания PHP кода самому (если, конечно же, вы не хотите сами создать ваш собственный сниппет).
Репозиторий MODx постоянно пополняется коллекциями сниппетов, которые создаются разработчиками ядра либо членами сообщества и можно установить и использовать эти сниппеты в пару кликов.
После установки необходимых сниппетов, следующим шагом является вызов сниппета в шаблоне или странице – там, где нужна дополнительная функциональность. Базовым синтаксисом вызова сниппета является: [[snippetName]]. Если ожидается, что сниппет будет генерировать различные результаты для разных пользователей или разных сессий, таких как агрегаторы или RSS лента, то тогда нужно вызывать некешируемый сниппет и это делается, просто поставив восклицательный знак перед сниппетом: [[!snippetName]]
Базового вызова сниппета не достаточно для использования необходимой функциональности. Для этой цели сниппеты имеют свойства, некоторые из которых обязательные, а некоторые и нет. В большинстве случаев сниппеты также дают возможность задать стиль и шаблон своего вывода.
<div id="feed-container">
[[!spieFeed? &setFeedUrl = 'http:///feed' &tpl = 'feedTpl' &setItemLimit = '5']]
</div>
Большинство сниппетов в репозитории MODx хорошо задокументированны и положительно стремление всегда заглядывать в MODx документацию. Каждому сниппету посвящен отдельный раздел в форумах MODx, где можно задать вопрос и получить поддержку и квалифицированный ответ от разработчика сниппета. Если у вас проблемы со сниппетом, то эти форумы – лучше место, где можно получить ответ на вопрос либо решить возникшую проблему, 100% у кого-то она уже была до вас.
Установка и удаление
В Revolution базовая установка CMS не содержит никаких сниппетов, всё что нужно – это зайти в менеджер сайта, и далее выбрать необходимый сниппет, загрузить его и установить. Все просто!

Назначение и использование
Условно сниппеты можно разделить на две группы:
- системные, упрощают или улучшают процесс управления системой, но не влияют на сам сайт и его контент.
- вспомогательные, расширяют возможности вывода и формирования контента сайта.
Местоположение сниппетов в дереве сайта может быть различным. Системные сниппеты обычно можно увидеть в разделе «Элементы - Плагины», вспомогательные же в разделе «Элементы - Сниппеты».
Установлены следующие системные сниппеты - плагины:
- Ace;
- CKEditor;
- translit.
Ace подсвечивает элементы кода в редакторе ресурса разными цветами.

CKEditor подключает редактор HTML с определенным набором функций.

Translit осуществляет автоматическую транслитерацию заголовков ресурсов сайта в псевдоним. Транслитерация осуществляется с русского языка на латиницу.
К вспомогательным относятся:
- Breadcrumbs;
- Gallery;
- getPage;
- getResources;
- If;
- phpThumbOf;
- SimpleSearch;
- Switch;
- Wayfinder.
If позволяет формировать ветвления в HTML коде.
Switch позволяет формировать множественные ветвления в HTML коде.
Breadcrumbs формирует HTML контент вида «Хлебные крошки».
phpThumbOf генерирует изменение изображений, в зависимости от указанных фильтров. Необходим для сниппета Gallery.
SimpleSearch формирует систему поиска вводимых посетителем сайта данных и их отображение.
getPage организует пагинацию HTML контента на странице сайта и переключение между разбитым контентом без обновления страницы сайта.
getResources осуществляет доступ к любым данным ресурса и его вывод в удобном виде.
Wayfinder сканирует дерево сайта и позволяет выводить небольшой набор данных ресурсов.
Gallery сканирует файловую структуру каталога и позволяет формировать набор данных полученных графических файлов из каталога для показа на странице сайта.
If
Параметры сниппета
Название | Назначение |
operand | Текстовое поле, содержащее элемент с которым будут сравниваться в условии ветвления |
operator | Перечисляемое текстовое поле, содержащее операцию сравнения |
subject | Текстовое поле, содержащее элемент, который будет сравниваться в условии ветвления |
then | Текстовое поле, значение которого сниппет вернет если результатом проверки условия будет истина |
else | Текстовое поле, значение которого сниппет вернет если результатом проверки условия будет ложь |
Допустимые операции сравнения
Операция | Значение |
!= neq not isnot isnt unequal notequal | Не равно subject!= operand |
< lt less lessthan | Меньше subject < operand |
> gt greater greaterthan | Больше subject > operand |
<= lte lessthanequals lessthanorequalto | Меньше или равно subject <= operand |
>= gte greaterthanequals greaterthanequalto | Больше или равно subject >= operand |
isempty empty | Пустой subject == empty |
!empty notempty isnotempty | Непустой subject!= empty |
isnull null | Отсутствует subject == null |
inarray in_array ia | Часть массива |
== = eq is equal equals equalto | Равно subject == operand |
Switch
Wayfinder
Wayfinder - сниппет, который сканирует определённую часть дерева документов MODx, находит все документы, которые удовлетворяют заданным критериям (указываются в параметрах) и выводит форматированный список этих документов. Формат вывода списка происходит на основе шаблонов, и может содержать любые комбинации HTML, CSS и JavaScript.
Основной целью Wayfinder является получение навигационного меню, которое автоматически обновляются, при внесении изменений в дерево документов.
Можно делать несколько вызовов Wayfinder на одной странице, каждый из которых может определять другую часть дерева документа, поэтому можно иметь несколько навигационных меню или списков документов на одной странице.
Общие параметры
Название | Описание | По умолчанию |
startId | Идентификатор папки, из которой берутся документы для формирования результата. Можно использовать любой ID документа-контейнера. | текущий документ |
displayStart | Показать начальную папку, указанную в startId | 0 |
level | Число уровней меню в глубину. Например, если нам не нужно отобразить только дочерние элементы первого уровня, то мы указываем 1. Значение по умолчанию будет выводить все уровни. | 0 |
limit | Максимальное число пунктов меню. Значение по умолчанию не накладывает ограничений. | 0 |
ignoreHidden | Игнорировать галочку «Показывать в меню», во время редактирования ресурса и всё равно включать их в вывод меню. | 0 |
&ph | Имя плейсхолдера, устанавливающий вывод результата, вместо возвращения вывода напрямую. | 0 |
&debug | Устанавите 1, чтобы включить режим отладки для дополнительного устранения неполадок. | 0 |
&hideSubMenus | Установите 1 для вывода только активного подменю. | 0 |
&removeNewLines | Установите 1 для удаления из вывода символа новой строки. | 0 |
&textOfLinks | Из какого поля ресурса брать текст для ссылки. Возможные значения - menutitle, id, pagetitle, description, parent, alias, longtitle, introtext. | menutitle |
&titleOfLinks | Из какого поля ресурса брать текст для заголовка ссылки (атрибут ссылки title). Возможные значения - menutitle, id, pagetitle, description, parent, alias, longtitle, introtext. | pagetitle |
&rowIdPrefix | Если установлено, тогда этот параметр создаст уникальный ID для каждого элемента. Значение будет иметь примерно такой вид - rowIdPrefix + docId. | 0 |
&useWeblinkUrl | Если установлено 1, тогда ссылка будет выводиться в плейсхолдере [wf. link]. | 1 |
&includeDocs | Список ID документов, разделённых запятой, которые должны быть включены в меню. | |
&excludeDocs | Список ID документов, разделённых запятой, которые следует исключить из меню. | 0 |
&cacheResults | Кэшировать запросы для более быстрой загрузки страницы | |
&cacheTime | Количество секунд для хранения кэшированного меню, если cacheResults равна 1. Установите 0, чтобы хранить кэш бесконечно, пока кэш не будет сброшен вручную. | |
&contexts | Используемый контекст для генерации меню. По умолчанию текущий контекст. | |
&startIdContext | Идентификатор контекста из которой берутся документы для формирования результата. | |
&config | Внешний PHP файл, для хранения конфигурации Wayfinder (для примера смотрите core/components/wayfinder/configs). | |
&scheme | Формат для генерации URL. Возможные значения (основаны на вызове makeURL API): -1: (значение по умолчанию) URL по отношению кsite_url; 0: смотрите http; 1: смотрите https; full: абсолютный URL начинающийся с site_url; abs: абсолютный URL начинающийся с base_url; http: абсолютный URL, заданный принуждённо в http-схеме; https: абсолютный URL, заданный принуждённо в https-схеме. | -1 |
&sortBy | Поле ресурса, используемое для сортировки. | |
&sortOrder | Порядок сортировки – ASC или DESC. | |
&where | JSON-стиль параметров фильтрации. Например, когда необходимо скрыть блог или новости из дополнения Articles:&where=`[{"class_key:!=": "Article"}]` | |
&hereId | Определять текущий ID для использования в сниппете. Используйте значение [[*id]] если шаблон указан с помощью параметра hereTpl и activeRowParentTpl не применяется корректно в пункте меню. | повторный ID |
&hereTpl | Шаблон hereTpl используется в момент, когда текущий пункт отображается в меню. |
Параметры шаблона.
Эти параметры указывают чанки, которые содержат шаблоны, которые будут генерировать вывод Wayfinder.
Доступные плэйсхолдеры:
&outerTpl.
wf. classes - выводит соответствующие классы, взятые с набора параметров Wayfinder (включая атрибут class="")
wf. classnames - вывод название соответствующих классов (без class="")
wf. wrapper - вывод внутреннего содержимого (row). Это заполнитель обязателен. <ul id="topnav" [[+wf. classes]]>[[+wf. wrapper]]</ul>
Параметр &innerTpl содержит такой же набор плэйсхолдэров что и &outerTpl.
&rowTpl
wf. classes - вывод соответствующих классов (включая атрибут class="")
wf. classnames - вывод соответствующих классов (без class="")
wf. link - значение атрибута href="" для ссылки меню
wf. title - имя текста заголовка для ссылки от поля указанного в параметре &titleOfLinks
wf. linktext - текст для действующей ссылки, указанном в поле, переданным в параметре &textOfLinks
wf. wrapper - вывод внутреннего содержимого, например подменю
wf. id - вывод уникального ID атрибута. Вам нужно указать параметр &rowIdPrefix для того чтобы этот заполнитель мог получить значение. Значением является префикс + docId.
wf. attributes - выводит ссылку атрибутов для текущего элемента
wf. docid - идентификатор документа текущего элемента
wf. description - описание для текущего элемента
wf. level - текущий уровень вложенности (добавлено в v2.3.3)
Пример использования:
<li [[+wf. id]] [[+wf. classes]] > <a href ="[[+wf. link]]" title ="[[+wf. title]]" [[+wf. attributes]]> [[+wf. linktext]]</a>[[+wf. wrapper]]</li>
Ещё один вариант:
<li> <a href ="[[+wf. link]]"> [[+wf. linktext]] </a> - [[+wf. description]] [[+wf. wrapper]] </li>
getResources
getPage
Breadcrumbs
SimpleSearch
Gallery
phpThumbOf


