在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>
具体展示样式,可见本文下方的展示形式。