首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用块视图中的文本作为节点标题的前缀

如何使用块视图中的文本作为节点标题的前缀
EN

Drupal用户
提问于 2019-12-24 17:26:17
回答 1查看 89关注 0票数 0

我想做什么

在Durpal 7中,我使用块视图在节点标题上方显示制造商名称。我们在内容上面添加了一个自定义区域,这很好。但是,我希望制造商使用节点标题显示内联

我在Drupal 8里是怎么处理的

这个相关的问题中,我询问了一个Drupal 8 solution.The drupal 8解决方案,它比较简单,因为我们将所有制造商字段迁移到1个制造商字段中。这使得编码变得容易多了。在我的drupal 7站点中,制造商字段是分开的,这使得代码处理起来有点混乱,因为每个制造商/节点组合都需要一个代码实例。

我的问题

对于drupal 7,是否可以将block视图呈现为节点标题的内联前缀?在这种情况下放置块视图似乎是一种更简单、更前端的Drupal方法。特别是因为我可以在一个块视图中拥有所有的制造商字段,并且它们将根据分类法术语ID上下文过滤器呈现。

EN

回答 1

Drupal用户

回答已采纳

发布于 2020-01-02 16:28:59

所以这就是我所做的,以防有人想要完成类似的事情。

首先,必须在MY_THEME.info文件的内容区域上方添加一个新区域,在我的示例中是:

代码语言:javascript
运行
复制
regions[manufacturer_prefix_title]    = Manufacturer Prefix Title

然后我重写了包含以下内容的page.tpl.php

代码语言:javascript
运行
复制

对于每个需要page--MY-NODE.tpl.php的节点实例,它现在包含:

代码语言:javascript
运行
复制

(以上所需的是前处理_页钩。)

然后,我创建了一个块视图,将contextual过滤器设置为NID。我还添加了filter条件,以只获得所需的内容类型。

我添加了三个内容:制造商字段,在每个字段上标记exclude from display,在每个字段上标记rewrite the output of this field,以便对这些字段使用replacement模式,并将每个字段包装在我想要的span class中:

[field_MY_FIELD]

我还确保在hide if empty结果行为下勾选no,以便在字段为空时不会呈现span类,因为不需要这些字段。

然后,我添加了Content: Title字段一次,并为每个制造商字段勾选rewrite the output of this field并使用替换模式,在标题前面留出一个空格:

代码语言:javascript
运行
复制
[field_MY_FIELD_1][field_MY_FIELD_2][field_MY_FIELD_3] [title]

由于<#>contextual过滤器被设置为NID,标题将只获取适当的分类法引用字段,因为每个节点只允许一个。

然后,只剩下简单的将新的视图块@admin/structure/block放置到在MY_THEME.info文件中创建的新区域中。我还将块配置为只显示在块视图的filter条件中定义的相同的内容类型。

希望这对某人有帮助!)

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/289571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档