Как добавить новую переменную в viewhelper (Typo3 9) - PullRequest
0 голосов
/ 07 сентября 2018

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

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 07 сентября 2018

Вы можете использовать шаблон VariableContainer для этого:

$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>
...