首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么节点标题的标记不能工作?

为什么节点标题的标记不能工作?
EN

Drupal用户
提问于 2018-09-15 22:50:15
回答 1查看 844关注 0票数 3

在Drupal 8中,我激活了消息模块和消息示例子模块。

这些字段是我在创建新注释时添加到模板中以创建消息的字段。

这是消息的内容。

(1)2)再分配

这些是列出可用的令牌。

从父节点的标题替换[message:node-title],但不替换[message:field_node_reference:entity:title]。为什么?

EN

回答 1

Drupal用户

回答已采纳

发布于 2018-09-16 14:04:35

[message:field_node_reference:entity:title]不被节点标题替换,因为对于example_create_comment消息模板,field_node_reference字段不包含任何有效的节点引用。

实际上,消息示例模块使用以下代码返回[message:node-title]令牌的值。(见消息_示例_令牌().)

代码语言:javascript
复制
    case 'node-title':
      if ($message->bundle() == 'example_create_comment') {
        $replacements[$original] = $message->field_comment_reference->entity->getCommentedEntity()->label();
      }
      else {
        $replacements[$original] = $message->field_node_reference->get(0)->entity->label();
      }
      break;

当消息包(消息模板)是example_create_comment时,它使用field_comment_reference字段($message->field_comment_reference->entity->getCommentedEntity()->label())获得节点标题,而不是使用用于其他消息模板的field_node_reference字段。

[message:field_node_reference:entity:title]令牌是从令牌模块中添加的,该模块为内容实体所拥有的每个字段添加一个令牌。(Message是一个内容实体,Message模板是它的包。)当field_node_reference字段不包含任何有效引用时,令牌模块不知道是否还有其他字段可供使用,因此令牌不会被替换。

如果希望在任何情况下获得节点标题,则需要使用[message:node-title]令牌。

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

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

复制
相关文章

相似问题

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