drupal6.x中创建新的主题模版和区域(Regions)

本文分成2部分来讲解的主题和区域。内容的流程和介绍只代表我个人的理解和收集,一些想法和操作并不完全正确。只是为了给新接触drupal的朋友一点提示。如果读者的英文没问题的话请访问drupal.org阅读相关的英文文档。

希望了解drupal 5.x的朋友请看:
drupal5.x中PHPTemplate模版引擎的Regions

一、创建新的主题模版

Drupal 6.x 系统自带的模版位于网站根目录themes 目录中,Drupal鼓励用户把非系统自带的模版放在 \sites\all\themes目录中,并且不要修改系统自带的模版。好了在了解Drupal 6.x的模板存放的位置,我们就开始。

复制\sites\all\themes目录中 garland 目录到 \sites\all\themes目录中(如果没有就创建它)

重命名\sites\all\themes目录中 garland 目录为:test

以下内容如没有特殊说明 test目录即为 \sites\all\themes目录中 test 目录

打开test 目录,将garland.info重命名为:test.info,并编辑test.info文件

将:name = Garland 修改为 name = test 并保存

接下来到“管理--站点构建--主题”,其URL为:/admin/build/themes

你会发现刚才创建的 test 主题 已经出现在 主题列表中了,我们在test 主题栏 选中“启用”和“默认”,然后点击“保存配置”

至此就完成了创建新的主题模版test,并把它设置为站点的默认模版

二、增加新的区域(Regions)

Drupal 6.x 把一些模版相关的信息和参数设置都放在.info文件中,如:主题的名字、模版引擎类型、兼容的Drupal版本…等等

在“创建新的主题模版”章节中我们编辑了test.info文件,将:name = Garland 修改为 name = test ,请注意在Drupal 5.x 中模版的名字是取决于主题模版的目录,而在Drupal 6.x 中,模版的名字取决于test.info文件 name = 模版名字

Drupal 6.x默认有5个区域(Regions):
Left,right,content,header,footer

在模版page.tpl.php文件我们可以使用:$left, $right, $content, $header, $footer
注意在Drupal 5.x 是:$sidebar_left, $sidebar_right, $content, $header, $footer_message

Drupal 6.x的$left, $right相等于Drupal 5.x :$sidebar_left, $sidebar_right
Drupal 6.x 中$footer是新增的。
Drupal 6.x 中也有$footer_message变量,它的作用是打印显示“管理--站点设置--站点信息”的 “页脚信息”文本框的内容:

如果我们需要增加一个变量名为$content_top新的区域(Regions) 也需要在test.info 设置
在行stylesheets[print][] = print.css下新增下面代码

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
regions[content_top] = Content top

保存test.info文件

其中这些是系统默认区域(Regions),我们需要把这些也添加进去

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

下面这行是我们新增的区域(Regions)

regions[content_top] = Content top

接下来我们打开page.tpl.php 文件,将刚才新增的区域(Regions)添加到模版中

找到:

          <div class="clear-block">
            <?php print $content ?>
          </div>

修改为:

          <div class="clear-block">
                  <!-- content_top -->
                  <?php print $content_top ?>
                  <!-- content_top end -->
            <?php print $content ?>
          </div>

保存page.tpl.php文件。(注意:如果添加了中文字符,保存时记得把编码改成UTF-8)
当然想放到那里看个人意愿和需要了,我们这里只是演示。

接下来我们需要主题注册(theme registry)
到“管理--站点设置--性能” 其URL为:/admin/settings/performance
点击“清除缓存数据”按钮 来清楚数据库缓存。

关于主题注册(theme registry)的方法,drupal.org 的文档是这样的:

1. Clear button located at "Administer > Site configuration > Performance".
2. With devel block enabled (comes with devel module), click the "Empty cache" link.
3. Simply visit the theme select page at "Administer > Site building > Themes".

原文链接:http://drupal.org/node/171224

然后我们到“管理--站点构建--区块” 其URL为:/admin/build/block

正常情况下我们会看到刚才新增的Content top区域(Regions),你可以尝试一点操作:
将页脚区域的区块Powered by Drupal 移动到 Content top区域(Regions)
然后记得点击“保存区块”按钮。

最后我上传 page.tpl.php 和 test.info 文件,希望对你有所提示帮助。

附件大小
drupal6.x_page.tpl_.php.txt3.7 KB
drupal6.x_test.info_.txt563 个字节