Как добавить новую переменную в помощник представления (Typo3 9)

Я создал свой собственный viewhelper для получения всей информации об изображении с UID. Я получаю всю информацию, если печатаю массив в viewhelper, но я не могу создать новую переменную Fluid со всей этой информацией для работы в шаблоне.

Я попытался создать новую переменную с помощью:

$this->view->assign('sliderItems', $sliderItems);

Но я получаю «Вызов функции-члена assign() для null».

Я визуализирую изображение с помощью:

public function render() {
    /* MY RENDER STUFF */

И затем я отправлю массив с:

    $this->view->assign('sliderItems', $sliderItems);
}

Как я могу решить эту проблему, чтобы получить доступ с жидкостью?


person A.Tietz    schedule 07.09.2018    source источник


Ответы (1)


Для этого вы можете использовать templateVariableContainer:

$this->templateVariableContainer->add('key', 'value');

Если вы используете viewhelper в цикле, вам придется удалить переменную после рендеринга:

$this->templateVariableContainer->add('key', 'value');
$output = $this->renderChildren();
$this->templateVariableContainer->remove('key');
return $output;

Если вы используете свой viewhelper в своем шаблоне, переменная будет доступна в вашем гибком шаблоне.

<vendor:viewhelper>
{key}
</vendor:viewhelper>
person RinyVT    schedule 07.09.2018