Localization 在Akeneo 2.1中,如何获取活动地区的列表?

Localization 在Akeneo 2.1中,如何获取活动地区的列表?,localization,console,akeneo,Localization,Console,Akeneo,我正在Akeneo 2.1中创建一个控制台命令,但我正在尝试获取活动区域设置的列表。我怎样才能得到这个呢?LocaleRepository提供了一个getActivatedLocales方法,它正好可以做到这一点。你可以找到它 区域设置存储库代码为pim_catalog.repository.locale,您可以通过调用$this->getContainer()->get('pim_enrich.repository.locale')在命令中获得服务(当然,如果您的命令是容器感知的) 下面是一个

我正在Akeneo 2.1中创建一个控制台命令,但我正在尝试获取活动区域设置的列表。我怎样才能得到这个呢?

LocaleRepository提供了一个
getActivatedLocales
方法,它正好可以做到这一点。你可以找到它

区域设置存储库代码为
pim_catalog.repository.locale
,您可以通过调用
$this->getContainer()->get('pim_enrich.repository.locale')在命令中获得服务(当然,如果您的命令是容器感知的)


下面是一个容器感知命令的示例:

返回的类是
Pim\Bundle\EnrichBundle\Doctrine\ORM\Repository\LocaleRepository
,它没有
getActivatedLocales()
-方法。然而,我设法用
$repository->findBy(['activated'=>1])
修复了它。谢谢你的帮助!啊,看来您需要使用
pim_catalog.repository.locale
而不是
pim_increach.repository.locale
。我将编辑您的答案并接受它。在Akeneo 4.0中,您似乎无法将-'@pim_catalog.repository.locale'作为依赖项传递到自定义服务中。但是你可以像回答中说的那样把它从容器里拿出来。您可以将容器传递到一个服务中,如-“@service\u container”