0

drupal6 でのテーマ設定について、Web の多くの領域をチェックしました。Web のすべてのチュートリアルでは、テーマ モジュールを使用しています。これは、小さな領域のテーマ設定や小さなブロックのテーマ設定などを意味します。しかし、私の場合、モジュールにアクセスするときにページのテンプレート全体を変更する必要があります。これは可能drupal6ですか?

4

2 に答える 2

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
于 2013-05-17T14:44:27.310 に答える
0

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");
  }
}
于 2013-05-18T10:21:42.587 に答える