2010-04-23 60 views
2

我在/ sites/all/themes/[theme]目录下的我的.info文件中添加了新的区域行。但是,当我查看Blocks页面时,该区域不可见,也不是下拉菜单中的可选项目。我也清除了缓存。我错过了什么?Drupal 6:如何将新区域添加到主题

回答

2

当你说你清除缓存时,你实际上是指主题注册表吗?或者你真的清除了数据库缓存?如果您只是清除了主题注册表,它将不会反映主题的.info文件的更改。您可以通过...清除缓存...

  1. 使用位于“管理>站点配置>性能”中的“清除所有缓存的数据”链接或按钮。
  2. 启用devel块(自带devel模块)后,单击“Empty cache”链接。
  3. 只需访问“管理>站点构建>主题”中的主题选择页面。从Drupal.org

名单也有可能本身就是缓存的网页浏览器。你可以清除你的浏览器缓存,以及Drupal缓存,只是要绝对确定。

如果这些都不起作用,您可以从.info文件发布您的区域分配吗?

+0

这也是一个很好的答案,但是calebthorne的答案解决了我的问题。 – Jukebox 2010-04-23 16:10:07

1

我假设的Drupal 6在这里,但在andytheme.info,你有没有添加这样的区域(看底线):

regions[left] = Left sidebar 
regions[right] = Right sidebar 
regions[content] = Content 
regions[header] = Header 
regions[footer] = Footer 
regions[andyregion] = Andy Region 

请记住,你有,如果你在你的.inf添加任何添加的所有地区o文件 - 它们不会从您的基本主题继承。

而且,在你的page.tpl.php中,你是否添加了要在某处打印的区域变量?像这样?

<div class="region andyregion"><?php print $andyregion ?></div> 

当然,它会被任何和其他你想要的东西包围。然后刷新缓存并查看它是否在块中。

Andy-

0

以下假定您使用Zen作为基本模板。

  1. 打开了/sites/[yoursite]/themes/[yourtheme]/[yourtheme].info文件,向下滚动到那里是regions[xxx] = yyy

    名称括号负荷是该地区的机器名。等号后面的文字是在admin/structure/blocks页面上使用的描述性文字。

  2. 打开/sites/[yoursite]/themes/[yourtheme]/templates/page.tpl.php并添加<?php print render($page['MACHINE-NAME']); ?>您希望区域出现的位置。

相关问题