我在Drupal 8的视图中做一些我认为应该相对简单的事情时遇到了麻烦。
我有一个名为“国家”的内容类型。 我想在我的主页上用视图块显示3个最新的国家节点。每个国家在容器div上都显示为“views-row”类。 我正在使用“views--view--unformatted--countries--block_1.tpl”来设置模板输出。
我想输出类似以下标记的内容:
<a class="view-row-1" href="/link/to/node">
<img src="source-of-teaser-image.png">
<h3>Title of node</h3>
</a>
<a class="view-row-2" href="/link/to/node">
<img src="source-of-teaser-image.png">
<h3>Title of node</h3>
</a>
<a class="view-row-3" href="/link/to/node">
<img src="source-of-teaser-image.png">
<h3>Title of node</h3>
</a>
我遇到的问题是访问模板中的单个字段。如果我使用视图模式,我可以访问单独的字段。如果我在视图中选择“显示字段”,我可以为“查看结果计数器”和“路径”添加一个字段,这将允许我添加“view-row-N”类并将a标签链接到节点,但我无法单独访问字段。我有{{row.content}}变量,但是尝试进一步挖掘该变量(例如row.content.field_name)不起作用,并且调用{{dump(row.content)}}会导致网站崩溃。
我不能将其输出为视图模式,原因有两个。首先,在视图模式下,我无法访问“查看结果计数器”或“路径”字段。其次,即使我有这些变量,某些字段将嵌套在其他字段中(图像和标题嵌套在标签中)
我认为这真的应该很简单。
<a class="view-row-{{ row.content.view_result_counter }}" href="{{ row.content.path }}">
等等,尽管我已经尝试了我能想到的一切。我是不是完全走错了路?Twig和我到目前为止并不合拍...
<script>
)/ js 的人 - 这些被过滤掉是出于“安全原因”。但是,一些明智的人已经争论(在我看来),只有授权管理员才能首先管理视图!请参见 https://www.drupal.org/project/views/issues/853880 https://www.drupal.org/project/views/issues/417956 和 https://www.drupal.org/forum/support/post-installation/2009-10-16/using-views-field-rewrite-to-include-javascript 再次感谢。 - therobyouknowfield_slack_team_link
字段的值,它位于<a href="[link]" target=""><img src="sites/default/files/2023-08/slack.png" alt="values" class="box-image" /></a>
中。 - Harikris