爲了在我的站點中爲特定頁面創建主題,我創建了一個名爲node - 2.tpl.php的文件。每其他一些教程我閱讀,我已將此添加到我的template.php文件中:警告:不能將標量值用作包含()的數組
function mtheme_preprocess_node(&$vars) {
if (request_path() == 'node/2') {
$vars['theme_hook_suggestions'][] = 'node__2';
}
}
在這個頁面上,我想叫schools_landing要呈現的區域。因此,節點 - 2.tpl.php看起來是這樣的,沒有別的:
<?php print render($page['schools_landing']); ?>
這樣做之後,我開始在管理員覆蓋層的頂部看到以下錯誤消息:
Warning: Cannot use a scalar value as an array in include() (line 1 of /home/something/public_html/project/sites/all/themes/mtheme/node--2.tpl.php).
此外,我可以在節點 - 2.tpl.php文件中寫入文本,並且它顯示正常(而不是默認頁面內容),但我無法在區域內呈現塊進行渲染。如果我爲schools_landing塊分配一個塊,那麼頁面上什麼也看不到。
- 這是在特定頁面上定義自定義內容的正確過程嗎?
- 我該如何解決導致標量值作爲數組錯誤消息的錯誤?
- 如何讓我的區塊開始在區域中渲染?
好的,你的側面說明很有意義。我刪除了我的建議,因爲它沒有必要。其餘的,我應該使用頁面模板而不是節點模板嗎?也就是說,如果我想在特定頁面上呈現schools_landing區域,我應該創建一個可以這樣做的頁面模板嗎? – KinsDotNet