【问题标题】:Test custom header in Drupal before publishing发布前在 Drupal 中测试自定义标头
【发布时间】:2011-07-20 00:15:53
【问题描述】:

我是 Drupal 的新手,想对标题进行一些编辑。我希望在每个页面上都出现一个自定义工具栏。我已经在一个名为toolbar.php 的文件中创建了该工具栏。它有一个固定的层,将出现在每一页的顶部。

  1. 如何在drupal的头部模板中包含toolbar.php?
  2. 工具栏引用$user,它是一个全局Drupal 变量,我想在将它发布到站点之前测试toolbar.php。反正我能做到吗?

问候, 达西特

【问题讨论】:

    标签: php drupal templates


    【解决方案1】:

    上述两种方法,如果你了解html和CMS模板的基本概念,第一种更容易,如果你是程序员,第二种会更容易。

    首先要检查的是您确实需要这样做!您不能重新设计现有菜单之一(主要或次要)来做到这一点 - 会让您(以及将来在该网站上工作的任何人)的生活更轻松。

    您可以做的另一件事是考虑添加一个输出区域,基本上是您将 php 放入 drupal 友好格式,然后有效地执行“drupal print”。这就是工具栏、搜索框等的完成方式。您仍然需要按上述方式更改模板。

    【讨论】:

    • 谢谢,我实际上是一名 .net 开发人员,过去曾广泛使用过 php4。我只是在帮助一个朋友,他需要为他启用了 drupal 的网站做些事情。
    【解决方案2】:

    是的,当然。如果你想让你的函数/文件生成的 html 出现在网站的每个页面上,那么你需要覆盖你正在使用的主题中的 page.tpl.php 文件,并将 html 添加到该文件中。

    要访问 $user 变量,只需在脚本中声明它。 全局 $user;

    在代码编辑器中打开 page.tpl.php 文件并另存为 page-front.tpl.php(如果您使用的是 Drupal 7,则带有两个破折号。一个带有 Drupal 6 的破折号)并将其上传到您的主题目录。通过转到配置-> 性能-> 清除所有缓存来清除缓存。然后引用页面。现在您的主页使用 page-front.tpl.php 作为模板文件。每个页面都需要自己的模板文件。页面机器名称出现在连字符之后,因此用户页面模板使用 page-user.tpl.php。您可以根据需要对其进行编辑。真正做到这一点的正确方法是使用 hook_theme() 将变量传递给模板文件。一个变量可能是创建您的自定义标题的 html。

    另请参阅http://drupal.org/node/457740 初学者指南过度骑行主题输出

    【讨论】:

    • 再想一想,您可能会比使用主题功能做得更好,然后将您的文件包含在代码中,调用它,获取结果并将 html 放入您的主题功能的输出中是压倒一切的。这方面的开始信息也在上面的链接中。
    猜你喜欢
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2020-05-06
    相关资源
    最近更新 更多