Рейтинг:0

Невозможно получить вывод при передаче массива через препроцессор

флаг cn

В моем препроцессоре я назначаю следующее:

$variables['myVar'] = "значение";

И в моем файле ветки я могу сделать следующее, и я получаю напечатанное значение:

{{моя переменная}}

Однако если я назначу такой массив в своем препроцессоре:

$variables['myVar'] = ['name' => 'John','surname' => 'Doe'];

Я не могу получить какой-либо вывод ни через вывод переменной, ни через дамп, ни даже через цикл for:

{{ дамп('myVar') }}
{% для элементов в myVar %}

Я тоже почистил кеш. Буду рад любым идеям :)

beltouche avatar
флаг cn
Что вы получаете с {% for key, val в myVar %}{{ key }}: {{ val }}{% endfor %}? Вы «зарегистрировали» myVar с помощью hook_theme или подобного?
Рейтинг:0
флаг cn

в THEME.theme

функция THEME_preprocess_page(&$variables)
{
  $variables['myVar'] = ['name' => 'John','surname' => 'Doe'];
}

в page.html.twig

имя: {{ myVar.name }}
фамилия: {{ myVar.surname }}

или итерация массива

{% для ключа, var в myVar %}
{{ключ}}: {{переменная}}
{% конец для %}

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

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