Урок 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, и далее выбрать необходимый сниппет, загрузить его и установить. Все просто!
Тут я не буду останавливаться, более детально этот вопрос был освещен в 3 уроке, его можно почитать по этой ссылке Урок 3. Базовая настройка и установка дополнений
Простейший вызов сниппета
После установки необходимых сниппетов, следующим шагом является вызов сниппета в нашем шаблоне или странице – там где вам нужна дополнительная функциональность. Базовым синтаксисом вызова сниппета является: [[snippetName]]. Если ожидается, что сниппет будет генерировать различные результаты для разных пользователей или разных сессий, таких как агрегаторы или RSS лента, то тогда вам нужно вызывать некешируемый сниппет и это вы делаете просто поставив восклицательный знак перед сниппетом: [[!snippetName]]
Базового вызова сниппета не достаточно для использования необходимой функциональности. Для этой цели сниппеты имеют свойства, некоторые из которых обязательные, а некоторые и нет. В большинстве случаев сниппеты также дают вам возможность задать стиль и шаблон своего вывода.
Большинство сниппетов в репозитории MODx хорошо задокументированны и положительно стремление всегда заглядывать в MODx документацию. Каждому сниппету посвящен отдельный раздел в форумах MODx, где можно задать вопрос и получить поддержку и квалифицированный ответ от разработчика сниппета. Если у вас проблемы со сниппетом, то эти форумы – лучше место, где можно получить ответ на вопрос либо решить возникшую проблему, 100% у кого-то она уже была до вас .
Что дальше?
Как я уже говорил – это всего лишь общее вступление. Реально рассматривать сниппеты мы начнем лишь на следующем занятии. А начнем мы с Wayfinder, сниппета который занимается построением несортированных списков и является идеальным инструментом для создания меню. Мы будем использовать Wayfinder для замены статического меню нашего сайта динамическим, которое будет отображать необходимые названия страниц.
Итак для работы вам необходимо установить сниппет Wayfinder в ваш сайт на MODx Revolution и таким образом подготовится к следующему уроку.
Рекомендую для прочтения
Oct 18 2011 уроки MODx Revolution сниппеты Виктор Матушевский
Олег
25.11.2011 19:04Подскажите пожалуйста
Всё шло хорошо до снипетов.
Не удаётся установить пакеты, СИСТЕМА-Управление пакетами-Добавить новый пакет/Скачать дополнения. Выдаётся ответ - "Произошла ошибка при подключении к поставщику:MODX получил пустой ответ от поставщика. Пожалуйста, проверьте URL-адрес поставщика и убедитесь, что поставщик является корректным поставщиком." Попытка добавить новых поставщиков ничего не меняет.
Подскажите, что делать?
Viktorminator
25.11.2011 19:16проверить права доступа к папкам, созданы ли папки assets, assets/components, какой сервер локальный(XAMPP, WAMP, DeNWeR) или виртуальный?
Олег
25.11.2011 19:50Извините, что в первый раз кратко. Система установлена на бесплатном хостинге "Вагончик" ( никаких проблем при размещении сайтов раньше не было)
Права доступа на assets -755, assets/components - тоже 755.
Viktorminator
25.11.2011 20:38Папки /assets/cache (и их файлы), /assets/export и /assets/images папки права 777.
Олег
25.11.2011 22:51ОК. Спасибо
katerina
17.01.2012 14:48у меня тоже нет возможности установить пакеты. Кнопка "Загрузить дополнения" неактивна! И вверху написано: Предупреждение!cURL должен быть установлен и настроен как расширение PHP, если вы собираетесь использовать управление пакетами.
Я работаю на Denwer, где копать - не пойму
Viktorminator
17.01.2012 19:01Проверьте есть ли соединение с провайдером пакетов - команда "tracert rest.modx.com". Если есть файервол - выключите его.
В вопросах указывайте версию php и modx.
sergey
05.02.2012 20:392katerina
Так чего непонятного, надо подключить библиотеку cURL. Как - это уже другой вопрос.
Юрий
18.03.2012 21:51Как подключить библиотеку cURL?
Филипп
23.05.2012 17:06Z:\usr\local\php5\php.ini
Раскомментируйте строчу extension=php_curl.dll в файле php.ini и перезагрузите сервер.
Павел Савин
27.08.2012 11:37А что делать если я уже скачал cURL и установил. Но строчка эта как была так и осталась, и в php.ini нету такой строчки с экстеншеном. Тупо нету. Я её даже пробовал сам дописывать. Бесполезно :(
Павел Савин
27.08.2012 11:38А что делать если я уже скачал cURL и установил. Но Warning этот как был так и остался, и в php.ini нету такой строчки с экстеншеном. Тупо нету. Я её даже пробовал сам дописывать. Бесполезно :(
pcheliakov
28.03.2013 19:37Не могу поставить плагины. php v. 5.3.8, MODx Revolution MODX Revolution 2.2.6-pl (traditional)
Вручную, локально - ошибка - Рабочее пространство не найдено.
online - файлы скачиваются, но бесконечно идёт процесс Загружается...
Viktor Minator
28.03.2013 22:01попробуйте ниже версию пхп
pcheliakov
30.03.2013 15:34Пришлось ставить на OPEN SERVER. Только так всё заработало. И кстати на версию PHP 5.2.17. На xampp и на мною установленной связке PHP APACHE MSSQL не работала, хоть ты тресни!