我在Drupal 7中创建自己的自定义模板,并且有一些系统错误。任何人都可以向我解释一下,如何修复它们或指导我一些文档来帮助我解决这些问题? 以下是错误:
注意:未定义索引:include()中的导航(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php第82行)。 注意:未定义的变量:include()中的secondary_menu_heading(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php第107行)。 注意:未定义的变量:include()中的标题(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php的第53行)。 注意:未定义的变量:include()中的标题(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php的第53行)。 注意:未定义的变量:include()中的jump_link_target(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/html.tpl.php第74行)。
答案 0 :(得分:1)
所有这些错误都是由各种模板文件中不存在的相应变量引起的。
默认情况下,page.tpl.php中没有提供$secondary_menu_heading
,默认情况下jump_link_target
未提供html.tpl.php
。
我猜你会说你的主题是基于另一个主题 将这些变量提供给模板文件,你需要做同样的事情。如果是这种情况,请查看该主题的template.php
文件,特别是themename_preprocess_x()
函数...这是创建变量并提供给模板文件的位置。
可以很好地概述主题系统如何在this post上运行。
答案 1 :(得分:1)
我在D7安装中使用Zen subtheme时遇到了同样的错误:
注意:未定义的变量:include()中的标题(第53行) ... /网站/所有/主题/ mysubtheme /模板/ block.tpl.php)
这个错误导致我的块的标题在前端根本没有渲染,正如我所料。
正如Clive所说,page.tpl.php中存在一个不存在的变量。所以,我将以下函数从Zen的template.php复制到我的subtheme template.php文件中:
function mysubtheme_process_block(&$variables, $hook) {
$variables['title'] = isset($variables['block']->subject) ? $variables['block']->subject : '';
}
(但请注意,您必须使用“ yoursubtheme _process_block”重命名该功能)
而且......瞧,我的街区的标题再次出现了。 : - )
非常感谢你的评论,克莱夫。它给了我很多帮助!
琼