twig模板调用模块字段的方法

zhangzhijun 41次浏览 0个评论

在drupal主题开发中,会出现安装大量模块,并在模块中调用模块变量的场景。通常情况下,模块提供的调用方法已经可以解决一大部分问题了,但是在定制化展示时,模块默认的调用方式则会显得力不从心了。

我们以drupal的flippy模块为例,为了能使上一篇和下一篇能够按照自己的定义显示,则需要单独调用flippy的prev和next变量。通过dump()函数来打印flippy的内容,具体如下:

0 array:6 [▼
  "#theme" => "flippy"
  "#list" => array:4 [▼
    "first" => array:2 [▶]
    "prev" => array:2 [▼
      "nid" => 14
      "title" => "twig语法快速入门"
    ]
    "next" => array:2 [▶]
    "last" => array:2 [▶]
  ]
  "#node" => Drupal\node\Entity\Node {#1777 ▶}
  "#attached" => array:1 [▶]
  "#cache" => array:1 [▶]
  "#weight" => 5
]

其中#list下的prev和next则是我们需要的,那么在twig的模板中,可以使用如下的方法进行调用:

<a
   href="/node/{{ content.flippy_pager["#list"]["prev"]["nid"] }}">
   上一篇:{{ content.flippy_pager["#list"]["prev"]["title"] }}
</a>
<a
   href="/node/{{ content.flippy_pager["#list"]["next"]["nid"] }}">
   下一篇:{{ content.flippy_pager["#list"]["next"]["title"] }}
</a>

具体展示样式,可见本文下方的展示形式。

 

 

 

版权申明:

本博客所有文章除特别声明外均采用 BY-NC-SA 4.0 许可协议。依据 BY-NC-SA 4.0 许可协议,转载请附上原文出处链接及本声明。

原文链接: https://zhangzhijun.life/twigmobandiaoyongmokuaiziduandefangfa.html

Default Avatar

客官,说点什么吧!

此字段内容将保密,不会被其他人看见。