Рейтинг:0

Невозможно проверить, пуста ли переменная в ветке представлений

флаг in
Lub

Я пытаюсь перезаписать просмотры-просмотр-unformatted.html.twig файл и хотите проверить, заглавие переменная пустой или нет, но что бы я ни делал, оно всегда действует так, как оно есть не пусто.

Я знаю, что переменная title является объектом, я попробовал dpm(), но никакие модификаторы не работают, проверяя, пуста ли она.

Мой код:

{#
/**
 * @файл
 * Реализация темы по умолчанию для отображения представления неформатированных строк.
 *
 * Доступные переменные:
 * - title: Заголовок этой группы строк. Может быть пустым.
 * - rows: список элементов строки представления.
 * - атрибуты: HTML-атрибуты строки.
 * - content: содержимое строки.
 * - view: объект представления.
 * - default_row_class: флаг, указывающий, должны ли классы по умолчанию
 * используется в строках.
 *
 * @см. template_preprocess_views_view_unformatted()
 *
 * Тема @ingroup
 */
#}
{{ дпм(название) }}
{%, если заголовок|рендеринг|обрезка|длина не пуста %}

{% установить row_id = 1 %}

{% для ключа, строка в строке %}
    {% set row_id = key+1 %}
{% конец для %}
<a data-toggle="collapse" href="#collapse-{{ row_id }}" role="button" aria-expanded="false" aria-controls="collapse-{{ row_id }}">
  <h3>{{ название }}</h3>
</a>
<div class="collapse" id="collapse-{{ row_id }}">
{% конец%}
{% для строки в строках %}
  {%
    установить row_classes = [
      default_row_class ? 'views-row view-row-' ~ loop.index
    ]
  %}
  <div{{ row.attributes.addClass(row_classes) }}>
    {{- row.content -}}
  </div>
{% конец для %}
{%, если заголовок|рендеринг|обрезка|длина не пуста %}
</div>
{% конец%}
Smartsheet eng avatar
флаг um
https://www.drupal.org/project/twig_capture связан.
Рейтинг:1
флаг in

{% если заголовок|рендеринг|стриптэги|обрезка %} должно сработать.

  1. заголовок|рендеринг рендерить, т.е.конвертировать из массива рендеринга в строку html.
  2. |стриптэги чтобы удалить любые html-теги из отображаемого заголовка.
  3. |обрезать чтобы удалить все пробелы в начале и в конце.

Если заглавие уже является строкой html (т.е. не массивом рендеринга), тогда вы можете опустить |рендеринг и {% если заголовок|стриптэги|обрезка %} должно быть достаточно хорошо.

sonfd avatar
флаг in
Хотя вам нужно использовать `|length`, если ваш заголовок буквально может быть строкой «0». См. [twig if docs](https://twig.symfony.com/doc/3.x/tags/if.html) для других случаев twig bool.
Рейтинг:0
флаг in
Lub

Итак, похоже, это работает:

{% если заголовок|обрезка|без пробелов|стриптэги|длина!= 0 %}

Что выглядит невероятно глупо, но хорошо...

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.