【问题标题】:TYPO3: f:link.action view helper ignores controller propertyTYPO3:f:link.action 视图助手忽略控制器属性
【发布时间】:2017-05-10 08:09:31
【问题描述】:

使用以下模板代码,controller 属性将被忽略:

<f:link.action
        pageUid="{f:cObject(typoscriptObjectPath: 'lib.nav.pid.registration')}"
        controller="StandardRegistration"
        action="oneClickRegistration"
        additionalParams="{tx_extension_standardregistration: '{occurrenceId: conductingEvent.id}'}">
    <f:translate key="registration.label.register"/>
</f:link.action>

不是调用动作oneClickRegistration,而是处理页面,就好像没有设置控制器属性一样。

【问题讨论】:

    标签: typo3 fluid


    【解决方案1】:

    我不得不使用arguments,而不是使用属性additionalParams

    <f:link.action
            pageUid="{f:cObject(typoscriptObjectPath: 'lib.nav.pid.registration')}"
            controller="StandardRegistration"
            action="oneClickRegistration"
            arguments="{occurrenceId: conductingEvent.id}">
        <f:translate key="registration.label.register"/>
    </f:link.action>
    

    documentaiton for the additionalParams property 说:

    不带前缀的附加查询参数,如 $arguments(覆盖 $arguments)。

    所以看来不仅arguments被否决了,controller的属性也被否决了。

    【讨论】:

    • 您可以使用 ViewHelper 上的各种“queryString”相关切换来控制它。许多其他支持“additionalParams”参数并使用typoLink创建链接的其他人也出现了相同的切换。
    • @ClausDue 我不明白您所说的“queryString”相关切换是什么意思。你能添加一个解释它的链接吗?
    • 参见fluidtypo3.org/viewhelpers/fluid/master/Link/… arguments addQueryString、addQueryStringMethod、additionalParams、argumentsToBeExcludedFromQueryString。
    • 您列出的属性确实定义了当前查询参数如何被带入生成的链接。但据我所知,您发送的链接不包含任何信息,为什么additionalParams 属性会覆盖controlleraction 属性。
    • 好吧,additionalParams 表示这些是最后应用的,因此,如果它包含已定义的参数,则“附加”的会替换那些。简短版本:controllerf:link.action 上的其他人是设置具有 additionalParams 前缀的相同参数的快捷方式,通常您只想使用快捷方式(但使用其他方法可以允许对结果进行更详细的操作网址)。要获得完整的图片,请阅读 TypoLink 在 TYPO3 中的工作原理;)
    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 2011-05-26
    • 2014-09-19
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多