typo3 - 如何将新变量添加到 viewhelper (Typo3 9)
问题描述
我创建了自己的 viewhelper 来获取带有 UID 的图像的所有信息。如果我在 viewhelper 中打印数组,我会得到所有信息,但我无法使用所有这些信息创建一个新的 Fluid 变量,以便在模板中使用。
我尝试使用以下方法创建新变量:
$this->view->assign('sliderItems', $sliderItems);
但我收到“在 null 上调用成员函数 assign()”。
我用以下方式渲染图像:
public function render() {
/* MY RENDER STUFF */
然后我将提交数组:
$this->view->assign('sliderItems', $sliderItems);
}
我该如何解决这个问题,以获得流体的访问权限?
解决方案
您可以为此使用 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>
推荐阅读
- python - 将 CSV 文件转换为 .xlsx 文件
- c++ - 制作二维数组时出现运行时错误
- java - Gradle:无法下载 ojdbc7.jar
- tensorflow - 为什么我的 CNN/图像分类器模型准确率这么低?
- azure - Azure 流分析作业无法检测到输入表或输出表
- python - PySpark Groupby 条件过滤
- postgresql - 如何在postgres中获取满足条件的所有行的总和
- mac-catalyst - UICollectionView 不响应 Catalyst 中的拖动/滑动
- javascript - 如何离线使用 Docker install file.deb?
- reactjs - 尝试将 React 功能组件转换为类组件失败