如果结果不为0,如何显示TWIG代码?

How to display the TWIG code if the result is not 0?

我在 Drupal 8 中有一个 TWIG 模板。“危险”值根据每个视图的结果递增。如果“危险”的结果不为0,如何显示TWIG代码

我测试了这段代码 {% if dangers > 0 %} 但它不起作用 :

{% set dangers = 0 %}
{% if dangers > 0 %}
Vous avez
{% if drupal_view_result('boutique_page_liste_des_taches_aucun_produit', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_aucune_variation', 'block_1', store_entity.id()) is not empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_commande', 'block_1', store_entity.id()) is not empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_mode_de_livraison', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_passerelle_de_paiement', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{{ dangers }}
tâches importantes à traiter dans votre {{ store_entity.type.entity.label }} "{{ store_entity.name.value }}".
<a href="/store/{{ store_entity.id }}/tasks" data-drupal-link-system-path="/store/{{ store_entity.id }}/tasks">Voir la liste</a>
{% endif %}

你的条件放错了地方,如果我根据你的实际代码做一个简单的逻辑,它会说:

dangers = 0
if dangers > 0 
  compute dangers 
  display dangers
end if

所以,是的,dangers 将永远是 0,因为您在条件 dangers > 0.

中计算了 dangers 的值

你的正确逻辑应该是

dangers = 0
compute dangers 
if dangers > 0 
  display dangers
end if

所以对于你的 twig 代码,这个 c 将是正确的版本:

{% set dangers = 0 %}
{% if drupal_view_result('boutique_page_liste_des_taches_aucun_produit', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_aucune_variation', 'block_1', store_entity.id()) is not empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_commande', 'block_1', store_entity.id()) is not empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_mode_de_livraison', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}
{% if drupal_view_result('boutique_page_liste_des_taches_passerelle_de_paiement', 'block_1', store_entity.id()) is empty %}
  {% set dangers = dangers + 1 %}
{% endif %}

{% if dangers > 0 %}
  Vous avez {{ dangers }} tâches importantes à traiter dans votre {{ store_entity.type.entity.label }} "{{ store_entity.name.value }}".
  <a href="/store/{{ store_entity.id }}/tasks" data-drupal-link-system-path="/store/{{ store_entity.id }}/tasks">Voir la liste</a>
{% endif %}

专业提示:虽然您不需要在 HTML 中正确地缩进和 space 编码,但我真的建议您这样做,这将有助于您自己更多地发现错误很容易。