この記事は「
Macros in Twig Templates
」の翻訳です。
Table of content
最終更新日 2016年12月20日
Twig公式ドキュメントより:
「マクロは通常のプログラミング言語の関数と似ています。頻繁に使用されるHTML構文を再利用可能な要素として設定するのに便利です。」
{% macro input(name, value, type, size) %}
<input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />
{% endmacro %}
マクロはネイティブのPHP関数といくつか異なる点があります:
- デフォルトの引数値は 、マクロ本体のdefaultフィルタを使用して定義され ます。
- マクロの引数は常にオプションです。
- 余分な位置引数がマクロに渡されると、それらは値のリストとして特別なvarargs 変数になります。
しかし、PHP関数と同様に、マクロは現在のテンプレート変数にアクセスすることもできません。特殊な_context 変数を使用してコンテキスト全体を引数として渡すことは可能です。
Drupal 8では、メインナビゲーション(menu.html.twigファイルを参照)などで、マクロを使用しています。
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報