Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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