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
これらの項目には、標準の dot-syntax を使って theme
を介して到達することができます。
Author Email:
Theme License:
PHP で Grav Plugin 内でこれらと同じ値に到達することができます。
$theme_author_email = $this->grav['theme']['author']['email'];
$theme_license = $this->grav['theme']['license'];
テーマにも設定ファイルがあります。テーマの設定ファイルは <themename>.yaml
という名前です。デフォルトのファイルはテーマのルートフォルダ (user/themes/<themename>
) に保存されています。
テーマのデフォルトの YAML ファイルを実際に変更するのではなく、user/config/themes
フォルダにある設定を上書きすることを 強く お勧めします。こうすることで、テーマの元の設定がそのまま残り、必要なときにいつでも素早く変更にアクセスしたり、元に戻したりすることができるようになります。
例えば、Antimatter テーマを考えてみましょう。 デフォルトでは、テーマのルート・フォルダに antimatter.yaml
というファイルが存在します。この設定ファイルの内容は次のようなものです。
enabled: true
color: blue
これは単純な設定ですが、テーマの構成設定で何ができるかを知ることができます。これらの設定をオーバーライドして、新しい設定を追加してみましょう。
user/config/themes/antimatter.yaml
ファイルを作成して、以下の内容を記述します。
*ここで
enabled
が繰り返されないことに注意してください。もし、設定ファイルが単に置き換えられるのではなく、マージされるのであれば、明示的に記述されるべきです。
color: red
info: Grav is awesome!
そして、テーマテンプレートの中で grav.theme.config
オブジェクトを使用してこれらの変数にアクセスすることができます。
<h1 style="color:"></h1>
このようにレンダリングされます。
PHP でも、現在のテーマの設定にアクセスすることができます。
$color = $this->grav['theme']->config()['color'];
$info = $this->grav['theme']->config()['info'];
シンプルに! テーマの設定は無限大。 好きなように使ってください。:)
以下のエイリアスも有効です。
Theme Color Option:
or
Theme Color Option:
or
Theme Color Option: [AVOID!]
Even though grav.themes.<themename>
is supported, it should be avoided because it makes it impossible to inherit the theme properly.