[РЕШЕНО]Как вывести текст в ноде, если определенное поле при ее создании не заполнено?

Главные вкладки

Аватар пользователя Borchun Borchun 5 ноября 2016 в 23:23

Доброго времени.

С методом научного тыка и описанием твига http://x-twig.ru/tests/ обнаружилось что все эти условия проверяют установлено ли в отображении полей для ноды этого поля, но никак не значение самого поля.

как же все таки адекватно темизировать каждое поле в ноде материала по условию?
Пример:
сначала прячу поле из общего вывода

 {% block content %}
    {{ content|without('body',' 'field_screenshots')  }}
    {{ content.body }}
      {% endblock %}

далее вывожу условие, которое по идее должно проверять пустое поле или нет

 {% if content.field_screenshots  (здесь побывали все условия из синтаксиса твига)%}
<div>
            <div class="spoiler_body">{{ content.field_screenshots }}</div>
          </div>
{% else %}
          Скрины не готовы

        {% endif %}

И условие не срабатывает, все равно выводится поле. как я описал выше условие срабатывает на само поле но не на значение. что я делаю не так?

Комментарии

Аватар пользователя Borchun Borchun 6 ноября 2016 в 18:31

как я понял {% if content.field is empty %} проверяет существует ли поле вообще и указано ли оно в отображении, а
{% if node.field_screenshots is not empty %} проверяет загружено ли в поле значение для отображения в ноде. И блин нигде про это не написано, дагадайся мол сама.

Аватар пользователя VasyOK VasyOK 6 ноября 2016 в 18:48

там сям простейшая темизация в результате для 10 страничного сайта 40 tpl.php шаблонов и при разработке нового функционала это учитывать: приглашаем в проект малограмотного разраба (как я) - он ничего не понимает (либо думает что понимает) и сносит функционал, либо за ним подтирать надо. Приглашаем гуру - он тратит свое дорогое время на поиск простейших темизаций.
Просьба не воспринимать пост серьезно Smile