2009-08-25 6 views
0

Drupalテーマの初心者です。フォーラムモジュールのテーマで詳細を1つ取得できません。Drupalテーマのワークフローモジュール内でのワークフロー

forum.moduleファイルには、このモジュールは をテーマにして、この行

function forum_theme() { 
...... 
'forum_list' => array(
    'template' => 'forum-list', 
    'arguments' => array('forums' => NULL, 'parents' => NULL, 'tid' => NULL), 
), 

を持っているどのように私はまた、フォーラムのディレクトリにforum-list.tpl.phpファイルを参照してくださいので、私は、このファイルが呼び出されたときに不思議に開始し、制御forum_theme機能が含まれていますそこからデータを取得しますが、forum.moduleで見つけることができるのはこの関数です。

function template_preprocess_forum_list(&$variables) 

私に何か不足していますか?だから一般的に私の質問は、誰がいつ呼び出すのですか?forum_listのようなカスタム登録されたテーマ関数を呼び出す場合

答えて

0

あなたのテーマディレクトリにmytheme-forum-list.tpl.php(mythemeはあなたのテーマの名前です) drupalはそれを拾う必要があります(最初にキャッシュをクリアしてください)。フォーラム-list.phpを探すためにテンプレートengingを伝え

template_preprocess_forumのこのラインは、これは(forum_themeでラインを参照します

$variables['forums'] = theme('forum_list', 
           $variables['forums'], 
           $variables['parents'], 
           $variables['tid']); 

Drupalのテーマ関数を呼び出す)

'forum_list' => array(
     'template' => 'forum-list', 
     'arguments' => array('forums' => NULL, 'parents' => NULL, 'tid' => NULL), 
    ), 

と引数を提供します。

devel moduleをインストールし、テーマ開発者モジュールをオンにした場合。これは、Drupalがコンテンツのレンダリング時に探す候補テンプレートと関数のすべてを表示します。

一般的に(ただし例外はありません)Drupalは最適なマッチテンプレートを探し、定義済みの関数に戻ります。

一致するものがない場合は、 theme guideをご覧ください。具体的には、Overriding themable outputのセクションには、hook_themeという興味のあるものもあります。

関連する問題