为了在我的站点中设置特定页面的主题,我创建了一个名为 node--2.tpl.php 的文件。根据我阅读的其他一些教程,我将其添加到我的 template.php 文件中:
function mtheme_preprocess_node(&$vars) {
if (request_path() == 'node/2') {
$vars['theme_hook_suggestions'][] = 'node__2';
}
}
在这个页面上,我希望渲染名为schools_landing 的区域。因此,node--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).
此外,我可以在 node--2.tpl.php 文件中写入文本,它显示得很好(而不是默认的页面内容),但我根本无法在该区域内渲染块。如果我为schools_landing 块分配一个块,我在页面上什么也看不到。
- 这是在特定页面上定义自定义内容的正确过程吗?
- 如何修复导致标量值作为数组错误消息的错误?
- 如何让我的块开始在该区域中渲染?