2012-11-17 100 views
0

我有一個page.tpl.php其中有頁眉,頁腳和內容區域。我需要從模塊的hook_menu加載不同的內容。打印主題()不工作在Drupal 7

我使用的模塊在下面的測試代碼,試圖從我的模板打印的東西:

function my_module_theme() { 
    return array(
    'tutorials_test' => array(
    'template' => 'tutorial' 
    ) 
); 
} 

我在模塊文件夾

下面是一個模板tutorial.tpl.php我hook_menu和回調函數

function my_module_menu() { 
     $items['insights/tutorials'] = array(
     'title' => 'Tutorials', 
     'access callback' => TRUE, 
     'page callback' => 'insights_tutorials' 
); 
} 

回調函數

function insights_tutorials() { 
    echo 'test'; 
    print theme('tutorials_test'); 
    echo 'after test'; 
    } 

當我轉到那個頁面時,我可以看到文本「測試」和「測試後」,但沒有打印出我的模板。

tutorial.tpl.php有這個簡單的代碼:

<h1>Hello World</h1> 

回答

1

裏面你hook_theme實現(功能my_module_theme),你需要在variables關鍵

function my_module_theme() { 
    return array(
    'tutorials_test' => array(
     'template' => 'tutorial', 
     'variables' => array(// the variables key 
      'title' => NULL, 
      'details' => NULL, 
     ), 
    ) 
); 
} 

然後輸出你的HTML喜歡傳即:

print theme('tutorials_test', array(
    'title' => 'This is the title', 
    'details' => 'And this is details', 
)); 

對於一個苦澀的例子如何實現hook_theme(),看看this answer

希望這個作品......穆罕默德。

+0

這不起作用。同一問題 – Abhishek

+0

請確保您查看最後一行中提供的答案。在所做的所有更改之後,請不要忘記清空緩存。 –

+0

確實完成了 – Abhishek