サイトを Drupal に移行しようとしていますが、テーマとテンプレートについて混乱しています。現在のサイトのページのルック アンド フィールは、テンプレート ファイルと CSS によって完全に制御されています。Drupal ではどのように機能しますか?
7 に答える
drupal では、テーマがサイトの外観を処理し、テンプレートがコンテンツのレンダリング方法を処理します。
次のように考えてください。テンプレートを使用してコンテンツをレンダリングし、テーマをそのコンテンツに適用します。
編集:したがって、css ファイルは drupal のテーマと共に存在し、テンプレートとは何の関係もありません。
Drupal では、「テーマ」は、任意の数のテンプレート (特定のデータを HTML にレンダリングする方法を制御するため)、CSS、JS ファイル、画像などをバンドルする特別なタイプのプラグインです。
したがって、全体的なページ マークアップ用の単一の「テンプレート」、サイドバー ブロックを HTML としてレンダリングする方法用の単一の「テンプレート」などがあります。それらをまとめて名前を付けたものをテーマと呼びます。
テーマは、テンプレート ファイルのコレクションで構成されます。block.tpl.php、node.tpl.php、page.tpl.php はすべてテンプレート ファイルで、CSS、JS、画像と組み合わせるとテーマが生成されます。さらに、テーマを継承できます。既存のテーマから継承することで、追加のテンプレート ファイルを使用せずに CSS だけでテーマを作成できます。この場合、親テーマのテンプレート ファイルが使用されます。
別の見方をすると、テーマは表示されるものであり、テンプレート ファイルはマークアップの生成を担当します。
これで少しわかりやすくなれば幸いです。
テーマは、css、js、画像、およびテンプレートファイルで構成されています。各テーマには、複数のテンプレートファイルが含まれる場合があります。
さらに、テーマを継承することができ、サブテーマのテンプレートファイルがその親テーマのテンプレートファイルを上書きする可能性があります。
Drupal には、テンプレート ベースのテーマ システムがあります。ページで独自のリージョンを定義し、それに従ってコンテンツを配置できます。page.tpl 、block.tpl 、node.tpl など、さまざまな種類のコンテンツを表示するデフォルトのテンプレート ファイルがいくつかあります。必要に応じて独自のテンプレート ファイルを作成できます。たとえば、ユーザー登録フォームまたはログイン ページの表示を変更する必要がある場合は、そのための tpl ファイルを作成し、データをその tpl ファイルにリダイレクトする必要があります。drupal API を使用して、これらのテンプレートに css または js を追加できます。このリダイレクトは、テーマの template.php ファイルで行う必要があります。