drupal6 でのテーマ設定について、Web の多くの領域をチェックしました。Web のすべてのチュートリアルでは、テーマ モジュールを使用しています。これは、小さな領域のテーマ設定や小さなブロックのテーマ設定などを意味します。しかし、私の場合、モジュールにアクセスするときにページのテンプレート全体を変更する必要があります。これは可能drupal6
ですか?
2 に答える
テーマの template.php 関数に if 条件を記述できます。機能はtemplate_preprocess_page(&$variables)
そして、この関数には、いくつかの if 条件を記述します。
For example:
if($some_condition) {
$suggestions[] = 'YOUR_CUSTOM_TEMPLATE';
}
$variables['template_files'] = $suggestions;
そして、テンプレート「YOUR_CUSTOM_TEMPLATE.tpl.php」ができます。テーマのテンプレート ディレクトリにあるはずです。
また、コンテンツ タイプのカスタム テンプレートを作成することもできます。例: 学生のコンテンツ タイプの場合、テンプレートは次のようになります。
page--student.tpl.php
Drupal Answers から取得 ( https://drupal.stackexchange.com/a/18670 ) :
別のテンプレートでカスタム ページを作成するにはどうすればよいですか?
使用する新しいテンプレート ファイルを提案することで、ページに別のテンプレートを使用できます。
これは、その template_preprocess_page () を記述することによってテーマで、または hook_preprocess_page() を実装することによってモジュールで行うことができます。モジュールで使用している場合は、template_preprocess_page() の名前を mymodule_preprocess_page() に変更する必要があります。「mymodule」はモジュールの短い名前です。
function mymodule_preprocess_page(&$variables) {
if (arg(0) == "node" && arg(1) == "1") {
array_unshift($variables['theme_hook_suggestions'], "page--custom-template");
}
}