首页 > 解决方案 > 如何在 shopware6 中本地化自定义控制器的路由

问题描述

我正在遵循创建自定义控制器的指南。 https://developer.shopware.com/docs/guides/plugins/plugins/storefront/add-custom-controller

到目前为止它工作正常,但我如何定位到控制器的路径?我查看了有关路由的 symfony 文档,并通过 Annotation https://symfony.com/doc/current/routing.html#localized-routes-i18n找到了解决方案。但这不起作用。不管我如何格式化我的语言字符串。

/**
     * @Route({
     *     "en-GB": "/joe",
     *     "de-DE": "/peter",
     *     "en-GB": "/joe",
     *     "de-DE": "/peter",
     *     "en": "/joe",
     *     "de": "/peter"
     * }, name="frontend.example.example", methods={"GET"})
     */

标签: shopware

解决方案


我相信不建议以您尝试的方式这样做。

Shopware 可以由店主以各种语言配置。因此,仅在代码中硬编码德语和英语是没有意义的。

相反,我建议编写一个自定义路由器,它从插件配置中获取路由名称,然后应该允许使用可翻译实体为每种语言设置路由名称。这与产品的工作方式类似:店主可以将德语产品配置为“Kissen”、英语和“Pillow”,因此本地化路线将起作用。


推荐阅读