[英]hook_preprocess_page() does not seem to use the suggested template file
我建議在模塊完成的hook_preprocess_page()
實現中使用一個模板文件,但是似乎沒有使用建議的模板文件。
模板文件是page--terminal-template.tpl.php,位於包含模塊的目錄中,這是hook_preprocess_page()
的實現。
function terminal_preprocess_page(&$variables) {
if (arg(0) == "terminal") {
$variables['theme_hook_suggestions'][] = "page__terminal_template";
}
}
誰能幫我嗎?
實際上,也可以從主題的template.php文件以及模塊的掛鈎中調用此掛鈎。
請在此處參考Drupal 7文檔。
假設您的活動主題是MY_THEME,則代碼應為:
function MY_THEME_preprocess_page(&$variables) {
if (arg(0) == "terminal") {
$variables['theme_hook_suggestions'][] = "page__terminal_template";
}
}
並且模板建議將起作用。
編輯:此功能也可以通過使用鈎子的模塊實現。
預處理和過程功能可以通過模塊實現。 實際上, theme()的文檔在顯示調用這些函數的順序時列出了它們。
事實是Drupal在主題目錄中查找建議的模板文件。 您有以下選擇:
按照另一個問題中報告的內容,您將能夠使用在模塊目錄中找到的模板文件。 唯一的問題是您將使用通用模板,該模板可能與當前啟用的主題使用的默認頁面模板不同。
如果要為當前啟用的主題添加模板文件,則在將新模板文件添加到主題之后,應調用drupal_theme_rebuild()使Drupal重新掃描包含模板文件的目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.