Typo3 类型3路由:列表和;在同一页上详细说明操作

Typo3 类型3路由:列表和;在同一页上详细说明操作,typo3,typo3-9.x,Typo3,Typo3 9.x,访问详细信息页面时引发异常:此插件不允许操作“详细信息”(控制器“产品”)。 我的路线增强器如下所示: ProductsPlugin: type: Extbase extension: Myext plugin: Products routes: - routePath: '/{product_slug}' _controller: 'Products::details'

访问详细信息页面时引发异常:
此插件不允许操作“详细信息”(控制器“产品”)。

我的路线增强器如下所示:

ProductsPlugin:
  type:              Extbase
  extension:         Myext
  plugin:            Products
  routes:
    -
      routePath:   '/{product_slug}'
      _controller: 'Products::details'
      _arguments:
        product_slug: productId
  defaultController: 'Products::list'
  defaults:
    productId: '0'
  aspects:
    product_slug:
      type: ProductsValueMapper
插件通过打字脚本嵌入:

lib.productsContent = USER
lib.productsContent {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    extensionName = Myext
    pluginName = Products
    vendorName = Vendor

    switchableControllerActions {
        Products {
            1 = list
        }
    }
}

[request.getQueryParams()['tx_myext_products']['productId'] > 0]
    lib.productsContent.switchableControllerActions.Products.1 = details
[end]
流体模板中的链接由以下内容生成:

<f:link.action class="button more" pageUid="38" action="details" arguments="{productId: '{product.product.id}'}">Mehr</f:link.action>
Mehr
我尝试在
\u controller
defaultController
的列表和详细信息之间切换。我还尝试删除一个或两个链接,但生成的链接包含GET参数,或者Detailview创建了上面的错误消息

有人能把我推到正确的方向吗

提前谢谢

编辑:
当我删除
\u控制器:“Products::details”
时,错误消息消失,并且正确调用了my details操作。但是详细信息操作的链接包含常规的GET参数。

您能检查一下这个补丁吗?包括我在内的两个人都有同样的问题。

问题是插件多次嵌入到同一页面上,这导致了问题

要解决此问题,您可以创建不同的插件或设置
plugin.tx\u myext\u products.mvc.callDefaultActionIfActionCantBeResolved=1


请参阅:

谢谢您的补丁。但不幸的是,结果仍然是一样的。我也更新了我的帖子。我和你一样在同一个页面上使用同一插件的多个实例,并且我还设置了“callDefaultActionIfActionCantBeResolved=1”,但我仍然无法生成正确的URL。我不通过打字脚本包含插件,而是通过插件内容元素和flexform可切换控制器动作。如果我删除路由增强器中的“_controller”部分,则正确的URL(如/product/example)仍然可以访问,但通过f:link.action或f:link.typolink在其他站点上生成的URL将无法像上面所述那样工作。所以默认操作对我不起作用:(。