【问题标题】:Drupal 7: Is it possible to print a cck field in the html.tpl file?Drupal 7:是否可以在 html.tpl 文件中打印 cck 字段?
【发布时间】:2011-08-02 14:45:12
【问题描述】:

我希望使用 cck 字段作为页面标题。 $pagetitle 变量位于 html.tpl.php 文件中。但它看起来好像我不能访问任何节点。

有没有办法做到这一点?

【问题讨论】:

    标签: drupal templates drupal-7 cck


    【解决方案1】:

    如果您想要一个模块来执行此操作,请查看 Page Title 模块。

    此模块可让您精细控制页面标题。您可以指定标题的结构模式,并在内容创建页面上,将页面标题与内容标题分开指定。

    我认为将 CCK 字段作为可用令牌可能存在错误,但我相信有可用的补丁。

    【讨论】:

    • 我昨天安装了它,但仍然遇到无法访问字段令牌的问题。不过我会看看补丁。
    • 我找到了令牌模块的补丁,它为您提供了以前不可用的必要字段令牌。所以我能够像在 Drupal 6 中一样使用 Automatic NodeTitle 模块。drupal.org/node/691078#comment-4499612
    【解决方案2】:

    您可以识别相关的 cck 字段并打印其值而不是默认页面标题。试试:

    drupal_set_message('<pre>' . print_r($node, TRUE) . '</pre>');
    

    ... 在您的内容类型模板文件中。这将输出 $node 的所有内容。请注意,这会很混乱,而且您可能需要一段时间才能找到所需的内容!

    出于好奇,为什么要这样做?

    【讨论】:

    • 我需要隐藏默认内容标题并将其替换为名为“Article Title”的 cck 字段,该字段可以接受较小的样式(粗体、斜体等)。我使用 Automatic Nodetitle 模块完成了这项工作。但是我无法使用“文章标题”字段作为模式,因为 Drupal 7 发布时没有使用字段标记的能力。所以我无法将“文章标题”放在路径中,也无法弄清楚如何在 html.tpl.php 文件中打印该字段。但是我找到了令牌模块的补丁,它给了我需要的字段令牌,所以一切都很好。
    【解决方案3】:

    您可以通过使用 hook_preprocess_page() 函数并更改页面标题来做到这一点。 见http://api.drupal.org/api/drupal/modules--system--theme.api.php/function/hook_preprocess_HOOK/7#comment-24423

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多