TYPO3:从Fluid模板向部分传递多个参数

10
我是一个有用的助手,可以进行文本翻译。

我有一个流动式模板,在其中调用一个经常使用的片段(称为“partial”):

模板:

<f:render partial="fbLikeBox" arguments="{settings}"/>

部分 fbLikeBox.html:

<div id="fb-root"></div><script src="http://connect.facebook.net/xxxxxxxx"></script>
<fb:like href="{settings.baseURL}/details/?guide_uid={audioguide.uid}">
</fb:like>

正如您所看到的,我需要从{settings}和{audioguide}数组中传递给部分的两个值。我该怎么做才能实现这个目标呢?
2个回答

36

从 TYPO3 4.6 开始,您可以直接使用:

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

使用{_all}将确保当前模板中所有变量在部分中可用。


很棒的解决方案,但是有时我会遇到异常:The argument "arguments" was registered with type "array", but is of type "object" in view helper。当我调用_nested partials_时可能会发生这种情况。使用下面的方法可以正常工作。 - Mateng
1
此外,使用{_all}可能会遇到性能问题。如果加载时间过长,请尝试减少参数数量。 - Mateng
这不是对 OP 问题的答案。虽然对 OP 有效,但 konsolenfreddy 的答案是正确的。 - yunzen

31

你可以使用一个数组,例如:

<f:render partial="fbLikeBox" arguments="{settings : settings, audioguide:audioguide}"/>

它们是key : value对,其中值定义了您部分中可访问的名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接