Twig публикува празни модули на страницата

Работя с Twig в Craft и се опитвам да включа модул, който съм направил, добавих цялото съдържание в модулите в CMS и го запазих, те се показват на страницата правилно, но един тон празни тагове за параграфи покажи също, някой знае ли защо е така?

Стъпки, които предприех:

Имам twig файл, наречен "Abilities.twig", вътре в способностите имам следния код:

<p>{{ module.Abilities }}</p>

В Index.twig имам следното:

{% for module in entry.modals %}
    {% include '_modals/Abilities' %}
{% endfor %}

Пример по-долу за това как се показват на страницата

<p>This is the first example of an ability</p>
<p>This is the second example of an ability</p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>

В CMS единствените модули, които се показват, са първите 2 примера, няма запазени празни модули.

Ако някой може да помогне, ще го оцени


person Josh    schedule 15.07.2019    source източник


Отговори (2)


Ако не искате да имате „допълнителните“ <p>, трябва да проверите дали съдържанието не е празно

{% if module.Abilities | trim != '' %}
    <p>{{ module.Abilities }}</p>
{% endif %}
person DarkBee    schedule 15.07.2019
comment
Току-що опитах това с блок и не работи - работи чудесно за полета вътре в блокове, но имам examples.twig, след което имам 2 полета вътре, така че можете да добавяте още в CMS, без да се налага да кодирате нищо, аз съм ако приемем, че не работи, защото поставих module.examples, предполагам, че трябва да реферирам към блока, а не към 2-те полета вътре в него, така че поставих block.examples, но това също даде грешка, знаете ли правилния начин за рефериране блокът за горното изявление? ако го направя без горното изявление, отново завършвам с празни компоненти... има ли нещо със CMS? - person Josh; 16.07.2019
comment
Ще трябва да добавите if около всяко поле, което добавите. Ако не искате да добавяте допълнителния if's около всяко поле, предлагам да поставите <p> във вашето съдържание - person DarkBee; 16.07.2019
comment
Благодаря, че проработи, не работеше ли, тъй като увих и двете полета в един оператор if, има ли причина това да се прави? как така CMS включва повече модули, отколкото има съдържание? Предполагам, че трябва автоматично да спре показването на празни модули, нали? - person Josh; 17.07.2019

Можете да добавите оператор if във вашия цикъл

{% for module in entry.modals if module != null %}
    {% include '_modals/Abilities' %}
{% endfor %}
person Youssef Saoubou    schedule 15.07.2019