【问题标题】:TYPO3: Pass multiple arguments to a partial from a fluid templateTYPO3:将多个参数传递给流体模板中的部分
【发布时间】:2011-12-01 21:19:30
【问题描述】:

我有一个流畅的模板,我称之为一个常用的 sn-p(称为“部分”):

模板:

<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} 数组中的两个值都传递给部分。我怎样才能做到这一点?

【问题讨论】:

    标签: typo3 partial fluid extbase typo3-flow


    【解决方案1】:

    从 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 时发生。使用下面的方法效果很好。
    • 另外,{_all} 您可能会遇到性能问题。如果加载时间过长,尽量减少参数个数。
    • 这不是对 OP 问题的回答。虽然它可能适用于 OP,但 konsolenfreddy 的答案是正确的
    【解决方案2】:

    你可以使用数组,比如:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 2012-02-15
      相关资源
      最近更新 更多