У меня есть блок на странице, который представляет собой представление с контекстным фильтром.
Поскольку у блока нет пути, я должен указать значение по умолчанию «необработанное значение из URL» в соответствии с Контекстный фильтр с блочным представлением
Все это работает как надо, представление в блоке фильтруется по последнему/третьему компоненту URL, как настроено в настройках контекстного фильтра.
Я использую этот блок как в обзорном режиме, где он показывает все объекты, сгруппированные по полю (когда третий компонент пути отсутствует), так и в более подробном режиме, когда я просто хочу показать объекты без заголовка группы.
Поскольку контекстный фильтр уже сокращает набор сущностей только до одной группы, заголовок этой группы является избыточным и уродливым.
Однако при использовании «значения по умолчанию» конфигурация контекстного фильтра не позволяет мне переопределить заголовок.
То, что я придумал - что кажется слишком большим хаком - это следующее в views-view-grid--{имя представления}--block.html.twig
{% set parts = url("<current>")|рендеринг|рендеринг|разделить('/') %}
{% если parts[5] пусто %}
{# не блок с контекстной фильтрацией, поэтому покажите заголовок #}
{% если заголовок %}
<h2>{{ название }}</h2>
{% конец%}
{% конец%}
Я просто считаю компоненты пути, что кажется мне слишком расплывчатым.
Есть ли лучшее решение, использующее только конфигурацию представления (контекстного фильтра)? Любой модуль для расширения параметров конфигурации просмотра?
Или, в качестве альтернативы, как я могу определить, получило ли представление контекстный фильтр в twig? Обычно мне трудно найти доступные «объекты» и их «методы»/параметры в twig, поскольку я не смог найти хорошую, полную ссылку. Например, зачем мне |рендеринг|рендеринг? Какие параметры принимает функция url()? Могу ли я считать символы в строке с помощью twig проще, чем я сделал выше? Указатели приветствуются.