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

Я работаю с 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 отображаются только два верхних примера модулей, пустых сохраненных модулей нет.

Если кто-то может помочь, был бы признателен

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы не хотите иметь «лишние» <p>, вам нужно убедиться, что содержимое не пусто.

{% if module.Abilities | trim != '' %}
    <p>{{ module.Abilities }}</p>
{% endif %}

Я только что попробовал это с блоком, и это не работает - отлично работает для полей внутри блоков, но у меня есть examples.twig, тогда у меня есть 2 поля внутри, так что вы можете добавить больше в CMS без необходимости что-либо кодировать, я предполагая, что это не работает, потому что я поместил module.examples, я предполагаю, что мне нужно ссылаться на блок, а не на 2 поля внутри него, поэтому я поместил block.examples, но это также вызвало ошибку, вы знаете, как правильно ссылаться блок для заявления выше? если я сделаю это без вышеуказанного утверждения, я снова получу пустые компоненты... что-то не так с CMS?

Josh 16.07.2019 06:22

Вам нужно будет добавить if вокруг любого поля, которое вы добавляете. Если вы не хотите добавлять дополнительные if's вокруг каждого поля, я предлагаю поместить <p> внутри вашего контента.

DarkBee 16.07.2019 07:22

Спасибо, что сработало, не сработало, потому что я завернул оба поля в один оператор if, есть ли причина, по которой это нужно сделать? почему в CMS больше модулей, чем контента? Я полагаю, он должен автоматически останавливать отображение пустых модулей, верно?

Josh 17.07.2019 00:06

Вы можете добавить оператор if в свой цикл

{% for module in entry.modals if module != null %}
    {% include '_modals/Abilities' %}
{% endfor %}

Другие вопросы по теме