2013-05-17 53 views
0

我在網上查了很多關於drupal6中主題的區域。在網絡上的所有教程說主題模塊,這意味着主題小面積或主題blobk等。但在我的情況下,我需要改變一個頁面的整個模板,當我訪問一個模塊。這是可能的在drupal6我如何根據drupal6中的模塊更改頁面的整個模板

回答

2

如果你的主題的template.php函數中有條件,你可以寫。 功能是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 
+0

但我怎麼能檢查當前模塊是這樣嗎? – anoop

0

接到了Drupal的答案(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"); 
    } 
} 
相關問題