shopware - 如何在 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 可以由店主以各种语言配置。因此,仅在代码中硬编码德语和英语是没有意义的。
相反,我建议编写一个自定义路由器,它从插件配置中获取路由名称,然后应该允许使用可翻译实体为每种语言设置路由名称。这与产品的工作方式类似:店主可以将德语产品配置为“Kissen”、英语和“Pillow”,因此本地化路线将起作用。
推荐阅读
- javascript - 从父元素javascript中删除类
- c# - 系统范围的全局列表变量是否存在
- javascript - 打字稿问题:受限制的属性类型不兼容
- r - 更改字符串中间单个字符的大小写
- c++ - 如何确定为 boost::stacktrace::safe_dump_to 分配多少空间?
- java - 如何禁用启用与 IoT 中心的连接?
- symfony - 在 symfony 中添加普通文本类型字段(不是文本框)
- dataframe - 使用 pandas styler 将逐行彩色数据框导出到 excel
- python - 更新 Azure 核心工具后 Python Azure 函数因 AttributeError('__enter__') 失败
- authentication - 我可以从 Blazor 客户端中的 AuthenticationStateProvider 访问我的 ID 令牌吗?