【问题标题】:display field before title node drupal 7标题节点drupal 7之前的显示字段
【发布时间】:2012-10-13 15:42:34
【问题描述】:

我想在标题前显示节点的标签类别,在界面中标题字段不可用,有没有办法在node.tpl.php或page.tpl.php中做到这一点(我不会安装另一个ds suite 之类的模块就是为了这个目的)。 PS:我想在显示节点的任何地方都这样做。

【问题讨论】:

    标签: drupal-7 field


    【解决方案1】:

    你可以:

    1. 在您的 page.tpl.php 中,您的标题被回显,将标题包装在 if 语句中,如果您在节点页面中,则不显示 $title,例如
    如果(arg(0)!='节点'): 如果($标题): 打印$标题; 万一; 万一; //仅当我不在节点页面上时打印标题
    1. 现在您可以print $node->title node.tpl.php 中任何您喜欢的地方

    在自定义模块中还有其他方法可以做到这一点,听起来效率更高,但如果这是一个小任务,我想编辑你的 tpls 是一个很好的解决方案

    【讨论】:

    • 我想显示标题,但我想在它之前显示一个标签词,我试过这个但 id 不起作用(也许你会发现它有什么问题):<?php if (!$page): ?> <?php if $content['field_name'] print render($content['field_name']); ?> /**I added this line before the title statement**/ <h2<?php print $title_attributes; ?>><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2> <?php endif; ?>I想要得到类似的东西:类别:TITLE HERE Con​​tent_body ...当类别是分类术语时有什么线索可以实现吗?
    • 尝试仅在您希望变量出现的位置打印“TEST”。这样,如果“TEST”文本确实有效,您就会知道您拥有正确的模板和正确的位置,并且您尝试调用的字段由于某种原因没有显示......首先开始简单!另外,请记住在进行任何模板更改后刷新缓存。
    • 我确实尝试打印一个测试文本,它运行良好,所以我应该假设它是一个变量错误(也许?)但在这种情况下我会得到一个 php 不是?
    • 没有人能回答这个问题,我真的在这里!
    【解决方案2】:

    $content 数组仅在 node.tpl.php 中可用,而在 page.tpl.php 中,您有一个 $page 数组,其中已经渲染了子元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2014-08-14
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      相关资源
      最近更新 更多