Урок 7. Сниппеты

Начнем наш 7 урок MODx Revolution для новичков. В предыдущем уроке мы изучили переменные шаблона и как их можно использовать для создания пользовательких полей на страницах сайта. При этом использовали шаблон студии Themeforest, вы можете использовать любой удобный для вас шаблон. Мы изучили как преобразовавывать статический HTML/CSS/JS  шаблон в динамический контент нашего сайта. В целом, всё то, на что мы смотрели представляло собой внешний вид сайта и разметку. В этом уроке мы коротко рассмотрим как добавить функциональности нашему сайту при помощи сниппетов. Это будет короткий пример использования сниппетов. Каждая запись будет содержать описания одного сниппета, максимум два.

Что такое сниппет?

Сниппеты – это куски PHP кода, которые позволяют добавлять функциональность в ваш MODx сайт. Согласно официальной документации:

Сниппеты – это ответ MODx на внутренний PHP код. Они обеспечивают пользовательский динамичный контент, такой как меню, блоги или новые списки и другие функциональные блоки и что еще угодно, что ваш сайт должен генерировать по запросу.

Сниппеты позволяют вам добавлять такую функциональность как навигацию, записи твиттера, поиск, галереи образов, формы контактов,  вместолище контента, комментарии в ваш MODx сайт без необходимости написания  PHP кода самому (если, конечно же, вы не хотите сами создать ваш собственный сниппет).

Репозиторий MODx постоянно пополняется коллекциями сниппетов, которые создаются разработчиками ядра либо членами сообщества и вы можете установить и использовать эти сниппеты в пару кликов. Как я уже ранее упомянул, вы можете создать собственный сниппет с пользовательским функционалом, если нет аналогичных доступных сниппетов, поэтому всё зависит от ваших способностей в программировании на  PHP  и знания MODx API. Поскольку мы здесь ведём разговор о курсе для новичков, то сосредоточимся на существующих сниппетах, но кроме этого я потом сделаю серию уроков, посвященных созданию собственных сниппетов.

Как установить сниппет в MODx Revolution

Если до этого вы использовали MODx Evolution, то вы должны знать, что вместе с установкой ядра Evolution в комплекте идет несколько сниппетов по умолчанию. Чтобы добавить другие сниппеты, вам нужно скачать их с официального сайта MODx, загрузить на сервер, а дальше вручную скопировать и вставить некоторый код для создания сниппета. В Revolution всё намного проще, базовая установка движка не содержит никаких сниппетов, всё что нужно – это зайти в менеджер сайта, дальше System->Package Management нажать Download Extras, и далее выбрать необходимый сниппет, загрузить его и установить. Все просто!

 Установка сниппета в MODx Revolution

Тут я не буду останавливаться, более детально этот вопрос был освещен в 3 уроке, его можно почитать по этой ссылке Урок 3. Базовая настройка и установка дополнений

Простейший вызов сниппета

После установки необходимых сниппетов, следующим шагом является вызов сниппета в нашем шаблоне или странице – там где вам нужна дополнительная функциональность. Базовым синтаксисом вызова сниппета является: [[snippetName]]. Если ожидается, что сниппет будет генерировать различные результаты для разных пользователей или разных сессий, таких как агрегаторы или RSS лента, то тогда вам нужно вызывать некешируемый сниппет и это вы делаете просто поставив восклицательный знак перед сниппетом: [[!snippetName]]

Базового вызова сниппета не достаточно для использования необходимой функциональности. Для этой цели сниппеты имеют свойства, некоторые из которых обязательные, а некоторые и нет. В большинстве случаев сниппеты также дают вам возможность задать стиль и шаблон своего вывода.

Большинство сниппетов в репозитории MODx хорошо задокументированны и положительно стремление всегда заглядывать в MODx документацию. Каждому сниппету посвящен отдельный раздел в форумах MODx, где можно задать вопрос и получить поддержку и квалифицированный ответ от разработчика сниппета. Если у вас проблемы со сниппетом, то эти форумы – лучше место, где можно получить ответ на вопрос либо решить возникшую проблему, 100% у кого-то она уже была до вас .

Что дальше?

Как я уже говорил – это всего лишь общее вступление. Реально рассматривать сниппеты мы начнем лишь на следующем занятии. А начнем мы с Wayfinder, сниппета который занимается построением несортированных списков и является идеальным инструментом для создания меню. Мы будем использовать Wayfinder для замены статического меню нашего сайта динамическим, которое будет отображать необходимые названия страниц.

Итак для работы вам необходимо установить сниппет Wayfinder в ваш сайт на MODx Revolution и таким образом подготовится к следующему уроку.

Рекомендую для прочтения