来自 extbase 控制器的操作不会导致正确的视图

Action from extbase controller doesn't lead to correct view

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

Pi1 被命名为 Items,操作 listshow

Pi2 名为 Exclusive 并包含操作 listexclusive

listexclusive returns 所有标记为独家的项目。但是我希望每个项目上的 link 到 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>

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

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

当我从上面的渲染视图中单击 links(独家项目)时,如何获得详细视图(显示操作)?

感谢任何帮助。

您需要设置详细信息页面的页面 uid 以获得此页面的 link。 TYPO3 不知道您在哪里插入了带有详细视图的插件。如果未设置 pageUid,则 link link 到同一页。

<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}