web*_* pf 3 theming symfony twig drupal-8
我可以根据这个 div 的内容更改添加到 div 元素的类吗?如:“如果 div 为空,则添加此类,否则添加此类”并使用 id 或其他内容定位 div。
如果是,我该怎么做?谢谢
编辑:我找到了一个像这样的解决方法
{% set vueBlocArchives_classes = [
'liste-archives',
'type-' ~ node.bundle|clean_class
]%}
{% set vuebloc_classes = [
'liste-vdl',
'type-' ~ node.bundle|clean_class
]%}
{% set vueBlocInfoAdmin_classes = [
'liste-info-admin',
'type-' ~ node.bundle|clean_class
]%}
Run Code Online (Sandbox Code Playgroud)
然后我做:
{% if node.field_inserer_liste_viewfield is not empty and node.id == 77 %}
<aside {{ vuebloc_attribute.addClass(vueBlocArchives_classes) }}>
{{ content.field_inserer_liste_viewfield.0 }}
</aside>
{# Change classe selon le Nid - Ici nid de la page Info Admin #}
{% elseif node.field_inserer_liste_viewfield is not empty and node.id == 125 %}
<aside {{ vuebloc_attribute.addClass(vueBlocInfoAdmin_classes) }}>
{{ content.field_inserer_liste_viewfield.0 }}
</aside>
{% else %}
<aside {{ vuebloc_attribute.addClass(vuebloc_classes) }}>
{{ content.field_inserer_liste_viewfield.0 }}
</aside>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
但是我需要重复代码,所以我想把这部分放在一个变量中:
{{ content.field_inserer_liste_viewfield.0 }}
</aside>
Run Code Online (Sandbox Code Playgroud)
@sakhunzai 提示可能是更好的方法,但我如何将它与我的代码一起使用?
EDIT2:测试将静态代码放入变量但语法错误
{% set finAside = content.field_inserer_liste_viewfield.0 | render | trim "</aside>" %}
{# Change classe selon Nid - Ici nid de la page archives #}
{% if node.field_inserer_liste_viewfield is not empty and node.id == 77 %}
<aside {{ vuebloc_attribute.addClass(vueBlocArchives_classes) }}>
{{ finAside }}
Run Code Online (Sandbox Code Playgroud)
相反,这项工作:
{% if node.field_inserer_liste_viewfield is not empty %}
{# Change classe selon Nid - Ici nid de la page archives #}
{% if node.field_inserer_liste_viewfield is not empty and node.id == 77 %}
<aside {{ vuebloc_attribute.addClass(vueBlocArchives_classes) }}>
{# Change classe selon le Nid - Ici nid de la page Info Admin #}
{% elseif node.field_inserer_liste_viewfield is not empty and node.id == 125 %}
<aside {{ vuebloc_attribute.addClass(vueBlocInfoAdmin_classes) }}>
{% else %}
<aside {{ vuebloc_attribute.addClass(vuebloc_classes) }}>
{% endif %}
{{ content.field_inserer_liste_viewfield.0 }}
</aside>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
受/sf/answers/2950127491/ 的启发, 我发布了另一个类似的问题:是否可以在条件下使用 Twig addClass?
难道不是那么简单:
<div class="{{ divContent=='' ? 'emptyClass' :'notEmptyClass' }}">
{{divContent}}
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7185 次 |
最近记录: |