【问题标题】:drupal separating template code header and footer with includedrupal 使用包含分隔模板代码页眉和页脚
【发布时间】:2012-02-17 11:50:16
【问题描述】:

我正在创建一个 drupal 模板并尝试使用它

    <?php require "".base_path() . path_to_theme()."'/header.php'" ?>

它确实提供了正确的路径,但它给出了这个

警告:require(/learn/learn_drupal/sites/all/themes/test_theme'/header.php'):无法打开流:require() 中没有这样的文件或目录(/Users/Devric/ 的第 33 行Sites/learn/learn_drupal/sites/all/themes/test_theme/templates/html.tpl.php)。

有人知道如何分离代码吗?

【问题讨论】:

  • 灵活控制页脚和页眉模板的正确drupal方式是什么?

标签: php templates drupal


【解决方案1】:

如果我是你,我会阅读如何设置合适的 Drupal 主题。

首先在您的主题目录中构建一个模板文件夹。然后从根 modules/system/page.tpl.phpmodules/system/html.tpl.php 复制到这个新的模板文件夹。

这是您的主要主题文件。 html.tpl.php 包含标题中的所有内容(元标记等)以及开始和结束正文标记。

page.tpl.php 是正文之间的内容,或者基本上是在上面写着&lt;?php print $page; ?&gt; 的地方打印的内容。

如果您打开 page.tpl.php 文件,您将看到您的所有区域等。这是您的页面大纲。使用它来使用硬代码或 Drupal 优秀的块系统来整理任何页脚、页眉等。

如果您认为这样的页面应该会有所帮助:

html.tpl.php -> opens your html page
   - page.tpl.php -> any constant elements above the content
      - node.tpl.php -> the content
   - page.tpl.php -> any constant elements below the content
html.tpl.php -> closes your html page

您不需要设置自己的包含,因为 Drupal 已经为您完成了这一切。这是一个陡峭的学习曲线,我真的很难开始,但没有必要不以 Drupal 的方式做事,因为你正在失去使它成为如此好的 CMS 的东西。

您可以在此处阅读更多信息 - http://drupal.org/documentation/theme

编辑:

您可以将块设置为特定于页面,然后为它们设置主题。例如,设置一个名为 about header 的块,并设置为仅在块管理页面中显示在您希望它的页面上。您可以像设置节点一样为每个块设置模板。

【讨论】:

  • hm 我想做一些比这更灵活的事情,page.tpl.php 或 page--whatever.tpl.php 没有问题。这样做的原因是我可能想让一些页面像 page--lab.tpl.php 使用一个页脚设计,而 page--about.tpl.php 使用另一个。来自 wordpress,它的方法只是将包含用于不同页面设计的这些常见块。在drupal中实现这一目标的好方法是什么?
  • 老实说页面--whatever.tpl.php 没问题,但我已经修改了我的答案,包括快速了解如何使用块进行此操作。
  • 我正在寻找的可能是特定于页面的块吧?比我在这些块上使用自定义模板
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多