【问题标题】:Action from extbase controller doesn't lead to correct view来自 extbase 控制器的操作不会导致正确的视图
【发布时间】:2015-11-19 06:52:52
【问题描述】:

我的 extbase 扩展中有两个插件。

Pi1 被命名为 Items,动作为 listshow

Pi2 被命名为 Exclusive 并包含操作 listexclusive

listexclusive 返回所有标记为独占的项目。但我想要每个项目上的链接到Pi1show 操作。

在我看来,我是这样做的:

//exclusive items (Listexclusive.html)
<f:for each="{items}" as="item">

  <f:link.action pluginName="Pi1" controller="Item" action="show" arguments="{item : item}">
  <p>{item.title} // {item.price}<p>
  </f:link.action>

</f:for>

当我从上面呈现的视图中单击一个项目时,我会进入同一页面而不是显示操作的详细视图。网址看起来像

http://my.local.dev/index.php?id=1333&tx_items_pi1%5Bitem%5D=229&tx_items_pi1%5Baction%5D=show&tx_items_pi1%5Bcontroller%5D=Item&cHash=f2bfb64cc56fe7f3a9652e803be7a461

当我点击上述渲染视图中的链接(独家项目)时,如何获得详细视图(显示操作)?

感谢任何帮助。

【问题讨论】:

    标签: typo3 fluid extbase


    【解决方案1】:

    您需要设置详细页面的页面 uid 才能获取到该页面的链接。 TYPO3 不知道您在哪里插入了带有详细视图的插件。如果未设置pageUid,则链接指向同一页面。

    <f:link.action pageUid="27836" pluginName="Pi1" controller="Item" action="show" arguments="{item : item}">
        <p>{item.title} // {item.price}<p>
    </f:link.action>
    

    您应该在扩展程序的 setup.txt 的设置部分中设置详细视图页面的 UID。如果完成,您可以在模板中使用例如 {settings.detailPageUid}

    【讨论】:

    • 所以我最好为这个设置添加一个 flexform 对吧?
    • 好吧,如果您有多个详细视图页面,那么可以。但如果没有,只需通过 TypoScript 设置 plugin.tx_items.settings.detailPageUid = xyz,您就可以在扩展程序中全局使用该设置。
    • 非常感谢梅雷克!!你让我开心。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多