我用下面的内容创建了一个模板。
name = myTheme
description = Just my theme
core = 7.x
stylesheets[all][] = css/myCss.css
regions[test] = Test
regions[content] = Content// Empty file// Some stylesDrupal有位置内容和其他块,但是如果我的模板是空的,他从哪里得到模板呢?
此外,我还得到了以下错误:
注意:未定义索引:在include()中突出显示( Z:\home\test1.ru\www\modules\system\page.tpl.php).的第126行)未定义索引: Z:\home\test1.ru\www\modules\system\page.tpl.php). ()中的sidebar_first ( Z:\home\test1.ru\www\modules\system\page.tpl.php).通知的第138行:未定义索引: ()中的sidebar_second )(Z:\home\test1.ru\www\modules\system\page.tpl.php).的第144行)
它看起来像是在核心模板中使用的,但是在我新创建的模板中,我得到了这个错误。也许我需要覆盖一些钩子?我应该覆盖哪一个钩子?
发布于 2013-01-27 23:39:32
获得这些错误的变量是Drupal用于输出Drupal 7主题应该具有的默认区域的变量,如下所示。
regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footertemplate.php文件不是模板文件,而是包含模板文件使用的函数的文件。
当主题没有定义模板文件时,Drupal使用从实现主题函数的模块中定义的文件。例如,Node模块定义theme_node();如果主题没有该主题函数(node.tpl.php)使用的模板文件,则Drupal将使用模块/节点/node.tpl.php中的模板文件。
发布于 2013-01-27 21:36:48
如果主题没有提供,Drupal将从相关模块文件夹加载模板。
等等。
还有一些模板(如page.tpl )的“system”模块文件夹。和html.tpl.php
未定义的索引错误是因为page.tpl.php试图打印主题未定义的区域和变量。
https://drupal.stackexchange.com/questions/58565
复制相似问题