Рейтинг:0

Передача параметров для просмотра блоков в Twig

флаг pl

Запуск Drupal 8.9.18

У меня есть строка, которую я хочу передать блоку Drupal для использования в контекстном фильтре. В шаблоне ветки у меня есть представление, которое создает простой список используемых терминов.Я извлекаю строку из массива результатов, сопоставляю нужную строку с переменной, которую передаю в качестве параметра другому блоку просмотра:

{% set view-output = drupal_block('views_block:view1-block_1') %}

{% для элемента в представлении-output.content['#view'].result %}

  {% set qParam = item.taxonomy_term_field_data_name | визуализировать | стриптэги %}
  {% если drupal_block('views_block:view2-block_1', qParam ) не пуст %}
    {{ drupal_block('views_block:view-name-block_1', qParam) }}
  {% конец%}

{% конец для %}

Выражение item.taxonomy_term_field_data_name | визуализировать | стриптеги дает мне значения, которые я ожидаю от вывода представления.

Я получаю следующую ошибку:

Сайт обнаружил непредвиденную ошибку. Пожалуйста, повторите попытку позже. TypeError: Аргумент 2 передан Drupal\twig_tweak\TwigExtension::drupalBlock() должен иметь тип массив, заданная строка,

Вопрос: как мне пройти qParam как массив (это одно значение). я пытался использовать {% установить qParam = qParam|слияние (..) %} внутри цикла for, но бит (..) для меня загадка.

Или есть лучший способ вложения запросов, которого я не знаю?

Обратите внимание, что я не разбираюсь в кодировании на PHP и хочу использовать только Twig.

Спасибо в ожидании любой помощи

Рейтинг:0
флаг gr

после сообщения об ошибке вы, вероятно, просто используете массив с одним значением в качестве второго аргумента, например

{{ drupal_block('xx', {qParam: qParam} ) }}
Рейтинг:0
флаг pl

Спасибо за вашу помощь. Я попробую это. На самом деле я нашел обходной путь, используя контекстный фильтр для определения определенного компонента пути, а не параметр запроса. Это делает то, что я хочу, но мне было бы интересно решить исходную проблему.

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

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