我在/ sites / all / themes / [theme]目录下的.info文件中添加了一个新的区域行。但是,当我查看Blocks页面时,该区域不可见,也不是下拉菜单中的可选项。我也清除了缓存。我错过了什么?
答案 0 :(得分:2)
当您说清除缓存时,您实际上是指主题注册表吗?或者你真的清除了数据库缓存吗?如果您刚刚清除主题注册表,它将不会反映主题的.info文件的更改。您可以通过...清除缓存。
浏览器本身也可以缓存页面。您可以清除浏览器缓存以及Drupal缓存,只是为了绝对确定。
如果这些都不起作用,您可以从.info文件发布您的地区分配吗?
答案 1 :(得分:2)
如果您启用了多个主题,请确保在块配置页面上查看正确的主题。
例如,如果您启用了custom_theme和garland,则每个都有一个块配置页面。
转到http://www.example.com/admin/build/block/list/custom_theme查看custom_theme的块 转到http://www.example.com/admin/build/block/list/garland查看花环主题的块
等...适用于所有已启用的主题
答案 2 :(得分: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
请记住,如果在.info文件中添加任何区域,则必须添加所有区域 - 它们不会从您的基本主题继承。
并且,在你的page.tpl.php中,你是否添加了要在某处打印的区域变量?像这样的东西?
<div class="region andyregion"><?php print $andyregion ?></div>
当然,它会被你想要的任何东西包围。然后刷新缓存,看看它是否在块中。
安迪 -
答案 3 :(得分:0)
以下假设您使用Zen作为基本模板。
打开/sites/[yoursite]/themes/[yourtheme]/[yourtheme].info
文件并向下滚动到有regions[xxx] = yyy
括号中的名称是区域的计算机名称。等号后面的文字是
admin/structure/blocks
页面上使用的描述性文字。
打开/sites/[yoursite]/themes/[yourtheme]/templates/page.tpl.php
并将<?php print render($page['MACHINE-NAME']); ?>
添加到您想要显示该区域的位置。