Я работаю с Twig в Craft и пытаюсь включить модуль, который я сделал, я добавил весь контент в модули в CMS и сохранил его, они отображаются на странице правильно, но тонна пустых тегов абзаца показать также, кто-нибудь знает, почему это?
Шаги, которые я предпринял:
У меня есть файл ветки под названием «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 отображаются только два верхних примера модулей, пустых сохраненных модулей нет.
Если кто-то может помочь, был бы признателен
Если вы не хотите иметь «лишние» <p>
, вам нужно убедиться, что содержимое не пусто.
{% if module.Abilities | trim != '' %}
<p>{{ module.Abilities }}</p>
{% endif %}
Вам нужно будет добавить if вокруг любого поля, которое вы добавляете. Если вы не хотите добавлять дополнительные if's
вокруг каждого поля, я предлагаю поместить <p>
внутри вашего контента.
Спасибо, что сработало, не сработало, потому что я завернул оба поля в один оператор if, есть ли причина, по которой это нужно сделать? почему в CMS больше модулей, чем контента? Я полагаю, он должен автоматически останавливать отображение пустых модулей, верно?
Вы можете добавить оператор if в свой цикл
{% for module in entry.modals if module != null %}
{% include '_modals/Abilities' %}
{% endfor %}
Я только что попробовал это с блоком, и это не работает - отлично работает для полей внутри блоков, но у меня есть examples.twig, тогда у меня есть 2 поля внутри, так что вы можете добавить больше в CMS без необходимости что-либо кодировать, я предполагая, что это не работает, потому что я поместил module.examples, я предполагаю, что мне нужно ссылаться на блок, а не на 2 поля внутри него, поэтому я поместил block.examples, но это также вызвало ошибку, вы знаете, как правильно ссылаться блок для заявления выше? если я сделаю это без вышеуказанного утверждения, я снова получу пустые компоненты... что-то не так с CMS?