Перейти к содержанию

Основы плагинов⚓︎

Grav был разработан, чтобы быть простым и сфокусированным, имея дело только со страницами. Идея заключается в том, что Grav сама по себе является супер-бережливой CMS, обеспечивая достаточно функциональности, чтобы поддерживать основы: маршрутизацию, компиляцию Markdown в HTML, шаблонизацию Twig и кэширование.

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

Мощь!⚓︎

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

Плагины оказались настолько простыми в написании, а также настолько гибкими и мощными, что мы не можем перестать их создавать! У нас уже есть более 370 свободно загружаемых плагинов, которые делают всё от отображения sitemap, предоставления хлебных крошек, отображения архива блога, простого поиска, до предоставления полнофункциональной корзины покупок на JavaScript!

Лучший способ узнать, что можно сделать с помощью плагинов — загрузить некоторые из них и посмотреть, что они делают и как они это делают. В следующей главе мы создадим простой плагин с нуля!

Основы⚓︎

Все плагины находятся в вашей папке user/plugins. С базовой установкой Grav есть только два плагина: error и problems.

Плагин error используется для обработки HTTP-ошибок, таких как 404 — страница не найдена.

Плагин problems полезен для новых установок Grav, потому что он обнаруживает любые проблемы с настройкой хостинга, отсутствующими папками или разрешениями, которые могут вызвать проблемы с Grav. Только плагин error действительно необходим для правильной работы.

Каждый плагин в папке user/plugins должен иметь уникальное имя, и это имя должно точно определять функцию плагина. Пожалуйста, не используйте пробелы, подчеркивания или заглавные буквы в названии плагина.

Доступ к значениям конфигурации плагина через Twig⚓︎

Чтобы получить доступ к настройкам конфигурации плагина через Twig (т. е. в рамках темы), используется запись:

{{ config.plugins.pluginname.pluginproperty }}

Если имя плагина содержит тире, вы должны обращаться к его свойствам так:

{{ config.plugins['plugin-name'].pluginproperty }}

Использование Flex в плагинах⚓︎

Рекомендуемый способ начать использовать Flex в плагине — использовать инструменты разработчика и создать плагин с базовой поддержкой Flex, сгенерированной для вас.

См. раздел Использование Flex в плагинах