Akeneo 类别树 UI 语言环境覆盖
Akeneo category tree UI locale override
我有一个 Akeneo 2.3 运行 10 个语言环境。其中 1 个语言环境是我们自定义的语言环境,称为 ab_AB。
在 Settings -> Categories
UI 中查看类别树或将产品分配给类别 UI 时,类别标签根据登录用户的区域显示。
我想显示来自 ab_AB 语言环境而不是登录用户语言环境的类别标签值。
我已经研究了 /vendor/akeneo/pim-community-dev/src/Pim/Bundle/EnrichBundle/Resources/views/CategoryTree
以获取有关 extend/override 内容的提示,但不太确定该怎么做。
总结一下发生了什么:树是通过调用 CategoryTreeController::childrenAction. The rendered twig view will format the categories using the Twig function children_response
, defined in the CategoryExtension.
生成的
要设置自己的语言环境,您需要在项目中覆盖此扩展(扩展class并重新定义class参数pim_enrich.twig.category_extension.class
)并覆盖受保护的方法getLabel如下:
protected function getLabel(
CategoryInterface $category,
$withCount = false,
$includeSub = false,
$relatedEntity = 'product'
) {
$category->setLocale('ab_AB');
return parent::getLabel($category, $withCount, $includeSub, $relatedEntity);
}
我使用语言环境 fr_FR
成功测试了它,而我的 PIM 是英文的。 Settings → Categories
菜单和产品网格的类别过滤器中的类别标签都是法语的。
我有一个 Akeneo 2.3 运行 10 个语言环境。其中 1 个语言环境是我们自定义的语言环境,称为 ab_AB。
在 Settings -> Categories
UI 中查看类别树或将产品分配给类别 UI 时,类别标签根据登录用户的区域显示。
我想显示来自 ab_AB 语言环境而不是登录用户语言环境的类别标签值。
我已经研究了 /vendor/akeneo/pim-community-dev/src/Pim/Bundle/EnrichBundle/Resources/views/CategoryTree
以获取有关 extend/override 内容的提示,但不太确定该怎么做。
总结一下发生了什么:树是通过调用 CategoryTreeController::childrenAction. The rendered twig view will format the categories using the Twig function children_response
, defined in the CategoryExtension.
要设置自己的语言环境,您需要在项目中覆盖此扩展(扩展class并重新定义class参数pim_enrich.twig.category_extension.class
)并覆盖受保护的方法getLabel如下:
protected function getLabel(
CategoryInterface $category,
$withCount = false,
$includeSub = false,
$relatedEntity = 'product'
) {
$category->setLocale('ab_AB');
return parent::getLabel($category, $withCount, $includeSub, $relatedEntity);
}
我使用语言环境 fr_FR
成功测试了它,而我的 PIM 是英文的。 Settings → Categories
菜单和产品网格的类别过滤器中的类别标签都是法语的。