如何使用 TWIG 创建计数器?

How to create a counter with TWIG?

我有一个使用 Drupal 8 的站点,我想用 TWIG 创建一个任务计数器。

我使用带条件的视图。无论视图是否有结果,计数器都必须递增。

这是我刚刚编写的代码:

<span class="badge badge-warning task-badge-warning">
  {% if drupal_view_result('boutique_page_liste_des_taches_produit_non_publie', 'block_1') is not empty %}
    1
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_role_marchand', 'block_1') is empty %}
    1
  {% endif %}
</span>
<span class="badge badge-danger task-badge-danger">
  {% if drupal_view_result('boutique_page_liste_des_taches_aucun_produit', 'block_1') is empty %}
    1
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_aucune_variation', 'block_1') is not empty %}
    1
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_commande', 'block_1') is not empty %}
    1
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_mode_de_livraison', 'block_1') is empty %}
    1
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_passerelle_de_paiement', 'block_1') is empty %}
    1
  {% endif %}
</span>

有 2 个计数器:

你知道解决这个问题的方法吗?

您可以 set 变量,然后递增它们:

{% set warnings = 0 %}
<span class="badge badge-warning task-badge-warning">
  {% if drupal_view_result('boutique_page_liste_des_taches_produit_non_publie', 'block_1') is not empty %}
    {% set warnings = warnings + 1 %}
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_role_marchand', 'block_1') is empty %}
    {% set warnings = warnings + 1 %}
  {% endif %}
  {{ warnings }}
</span>
{% set dangers = 0 %}
<span class="badge badge-danger task-badge-danger">
  {% if drupal_view_result('boutique_page_liste_des_taches_aucun_produit', 'block_1') is empty %}
    {% set dangers = dangers + 1 %}
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_aucune_variation', 'block_1') is not empty %}
    {% set dangers = dangers + 1 %}
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_commande', 'block_1') is not empty %}
    {% set dangers = dangers + 1 %}
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_mode_de_livraison', 'block_1') is empty %}
    {% set dangers = dangers + 1 %}
  {% endif %}
  {% if drupal_view_result('boutique_page_liste_des_taches_passerelle_de_paiement', 'block_1') is empty %}
    {% set dangers = dangers + 1 %}
  {% endif %}
  {{ dangers }}
</span>