drupal 7中可以用semantic views模块向views中的不同行添加不同的类,但是Drupal 8 没有这模块,怎么搞,只能复写对应的模板,
这里设定你的views机器名是myviews,用的格式是:没有格式化的列表
现在来复写views-view-unformatted.html.twig模块,Drupal 8 开启模板建议并不会给出views模板的建议,这应该是一个缺陷,将其从core/views/templatefs中复制出来,粘贴到你的主题的templates中
下面是原始代码
{% if title %}
<h3>{{ title }}</h3>
{% endif %}
{% for row in rows %}
{%
set row_classes = [
default_row_class ? 'views-row',
]
%}
<div{{ row.attributes.addClass(row_classes) }}>
{{ row.content }}
</div>
{% endfor %}
一开始我还四处搜寻如何修改这个模板,整个互联网都搜不到,最后我仔细看了一下,原来是因为修改太简单了,所以没其他人写出来,twig其实和其他编程函数一样,有数组,循环之类
直接把循环那一段注释掉,然后一个一个编辑rows数组中的每一行
{% if title %}
<h3>{{ title }}</h3>
{% endif %}
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[0].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[1].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[2].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[3].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[4].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[5].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[6].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[7].content }}
</div>
<div class="col-xs-6 col-sm-3 col-md-2">
{{ rows[8].content }}
</div>
{#{% for row in rows %}#}
{#{%#}
{#set row_classes = [#}
{#default_row_class ? 'views-row',#}
{#]#}
{#%}#}
{#<div{{ row.attributes.addClass(row_classes) }}>#}
{#{{ row.content }}#}
{#</div>#}
{#{% endfor %}#}
你的views定义了显示几行,你就写几行,是不是特别简单
板块
标签
Drupal 版本