Drupal のテーマと前処理関数について読んでいて、前処理関数の順序で engineName _engine_preprocess と engineName _engine_preprocess_hook がリストされていることに気付きましたが、エンジンレイヤーが何であるか完全にはわかりません。コア、インクルード、モジュール、テーマについて理解しています。
どうもありがとう
Drupal のテーマと前処理関数について読んでいて、前処理関数の順序で engineName _engine_preprocess と engineName _engine_preprocess_hook がリストされていることに気付きましたが、エンジンレイヤーが何であるか完全にはわかりません。コア、インクルード、モジュール、テーマについて理解しています。
どうもありがとう
私はそれを非常に単純にするようにしています。
Drupalのテンプレートエンジンは、Drupalのデータとテーマのテンプレートを組み合わせて、結果(最終的なHTML)をユーザーに表示するソフトウェアコンポーネントです。
+ ----------- + + ---------------- + | |からのデータ | からのテンプレート| | Drupal | | テーマ| + ----------- + + ---------------- + | | v + -------- + v + ------ | テーマ|-------+ | エンジン| + -------- + | v + ------------- + | 最終的なHTML| + ------------- +
Drupalがテーマエンジンを使用するのはなぜですか?開発者が異なればコーディングの好みも異なり、Drupalは異なるテンプレートの「コーディングスタイル」を直接扱いたくないためです。
Drupalテーマのデザインを学んでいる場合は、テーマエンジンのデザインを知る必要はありません。今日では、ほとんどすべてのDrupalテーマが1つのエンジンを使用しています。PHPTemplateは、私の意見では素晴らしいものです。高度なテーマを設計する場合にのみ、テーマエンジンAPIを知っている必要があります。基本的な使用法では、APIの知識でさえ必須ではありません。
簡単なスタートとして、BluemarineのようなシンプルなDrupalテーマを確認して微調整してみてください
エンジンは、使用されるテンプレートエンジンです。デフォルトでは、DrupalはPHPTemplate
エンジンを使用しますが、他のテンプレートエンジンを使用して、エンジンタイプに基づいて異なる前処理フックを作成することもできます。
テンプレートエンジンは、テンプレート内のコードを実行するために使用されるものです。テンプレートエンジンにはさまざまな種類があり、テンプレート内のさまざまな構文、さまざまな方法で変数をテンプレートに取り込むことができます。PHPTemplateは、で終わるファイルを使用します.tpl.php
。したがって、それらを解釈できるコードがいくつかあるため、これらはすべて機能します
PHPTemplate(いくつかの古い歴史)の詳細について読む