跳转到主要内容
刘鑫 提交于 5 January 2017

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 版本