在 TYPO3 Fluid 中,如何在使用 {_all} 时将附加参数传递给部分

In TYPO3 Fluid, how to pass additional arguments to a partial when {_all} is used

流体样式内容使用 f:render Viewhelper:

<f:render partial="Header" arguments="{_all}" />

我想向部分传递另一个信息,例如

<f:render partial="Header" arguments="{_all, settings : doThis}" />

但在我看来这是错误的方式,因为它会引发错误。

我也尝试过使用 f:alias 访问 settings.doThis,但也没有运气(或者更确切地说,技能)。

如何正确完成?

你不能,所以只需修改控制器中的 settings(或任何其他变量)或使用 ViewHelper,它允许你在视图中声明变量,例如:v:variable.set 的 VHS 分机

可以使用这个,但不要使用 var 'settings'。这个被typoscript用了

<f:render partial="Header" arguments="{_all, myvar:'myvalue'}" />

尝试 Header 部分中的 <f:debug> 标签并查看

这可以通过别名 ViewHelper 实现。我已经将它与 TYPO3 版本 6 和 7 一起使用了。

只需如下扩展 {_all} 变量

部分

<f:alias map="{additionalVar: 'foobar'}">
        <f:render partial="Partial" arguments="{_all}"/>
</f:alias>

栏目

<f:alias map="{additionalVar: 'foobar'}">
    <f:render section="Section" arguments="{_all}" />
</f:alias>

您可以像使用任何其他变量一样使用“additionalVar”变量。

它正在处理部分和部分。

您可以使用 vhs viewhelper 液体,如下所示。

<v:variable.set value="{yourValue}" name="variable">
<f:render partial="Header" arguments="{_all, newVar:variable}" />