Конфигурация темы⚓︎
В Grav можно легко получить доступ к настройке тем и информации о чертежах из ваших файлов Twig и PHP.
Доступ к информации о чертеже темы⚓︎
Информацию из файла blueprints.yaml текущей активной темы можно получить из объекта theme. В качестве примера возьмем следующий файл blueprints.yaml:
name: Antimatter
slug: antimatter
type: theme
version: 1.7.0
description: 'Antimatter is the default theme included with **Grav**'
icon: empire
author:
name: Team Grav
email: devs@getgrav.org
url: https://getgrav.org
homepage: https://github.com/getgrav/grav-theme-antimatter
demo: http://demo.getgrav.org/blog-skeleton
keywords: antimatter, theme, core, modern, fast, responsive, html5, css3
bugs: https://github.com/getgrav/grav-theme-antimatter/issues
license: MIT
Вы можете получить доступ к любому из этих элементов через grav.theme, используя стандартный dot-синтаксис:
Вы также можете получить эти же значения из плагина Grav с синтаксисом PHP:
<?php
$theme_author_email = $this->grav['theme']['author']['email'];
$theme_license = $this->grav['theme']['license'];
Доступ к конфигурации темы⚓︎
У темы тоже есть файлы конфигурации. Файл конфигурации темы называется <themename>.yaml. Файл по умолчанию находится в корневой папке темы (user/themes/<themename>).
Настоятельно рекомендуется не изменять файл YAML по умолчанию для темы, а переопределить настройки в папке user/config. Это гарантирует, что исходные настройки темы останутся нетронутыми, что позволит вам быстро получить доступ к изменениям и/или вернуться к ним при необходимости.
Например, давайте рассмотрим тему антиматерии. По умолчанию в корневой папке темы есть файл под названием antimatter.yaml. Содержимое этого файла конфигурации выглядит следующим образом:
Это простой файл, но он дает вам представление о том, что вы можете делать с настройками конфигурации темы. Давайте переопределим эти настройки и добавим новые.
Итак, создайте файл в следующем месте: user/config/themes/antimatter.yaml. В этот файл поместите следующее содержимое:
Заметьте, что enabled здесь не повторяется. Если файлы конфигурации объединены, а не просто заменены, это следует указать явно.
Затем в шаблонах вашей темы вы можете получить доступ к этим переменным с помощью объекта grav.theme.config:
Это должно отображаться как:
Grav - это круто!
В PHP вы можете получить доступ к конфигурации текущей темы с помощью:
<?php
$color = $this->grav['theme']->config()['color'];
$info = $this->grav['theme']->config()['info'];
Просто! Нет предела конфигурации ваших тем. Вы можете использовать их для чего угодно! :)
Альтернативная нотация⚓︎
Также работают следующие псевдонимы:
twig {{ config.theme.color_option }}
twig {{ theme_var(color_option) }}
twig {{ grav.themes.antimatter.color_option }} [ИЗБЕГАЙТЕ!]
Несмотря на то, что grav.themes.<themename> поддерживается, избегайте этого, потому что такой способ делает невозможным правильное наследование темы.