Как отобразить код TWIG, если результат не равен 0? - PullRequest
0 голосов
/ 21 июня 2020

У меня есть шаблон TWIG в Drupal 8. Значение «опасности» увеличивается в зависимости от результата каждого просмотра. Как отобразить код TWIG, если результат «опасностей» не равен 0

Я тестировал этот код {% 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 %}

1 Ответ

0 голосов
/ 21 июня 2020

Ваше состояние неуместно, если я сделаю простой лог c из вашего фактического кода, он скажет:

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

Итак, да, dangers всегда будет 0, потому что вы вычислить значение dangers в условии dangers > 0.

Ваш правильный logi c должен быть

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

Итак, для вашего кода ветки это 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, я бы очень рекомендовал вам это сделать, это поможет вам самостоятельно обнаружить ошибки проще.

...