如何从pimcore中的Localized Fields获取所有可用语言?

时间:2015-05-07 17:29:02

标签: php zend-framework zend-locale pimcore

我有点困惑:我有一个控制器,我正在为pimcore中的一个对象收集所有可用的语言。
现在我只需从该对象中获取一个Localized Field,通过foreach运行它,并使用Localized Fields的键填充数组。所以我得到了该对象的所有语言。但这是我编写过的最难看的部分:)

更新 - 这是代码:

$o = Object_Product::getById(SOME_ID);
$availableLanguages = array();
// 'category' is an attribute of my product-object that uses Localized Fields
foreach ($o->getCategory()->getLocalizedfields()->getItems() as $language => $value) {
    $availableLanguages[] = $language;
}

所以我得到一个看起来像的数组:

$availableLanguages(
    0 => 'en',
    1 => 'de',
    2 => 'it'
    // etc.
);

我担心我对它的想法太多了,现在我错过了森林里的树木 - 必须有一种(更)优雅的方式。基本上Zend_Locale也应该有这个信息,但我不明白。

有没有人能为我提供线索?提前谢谢!

1 个答案:

答案 0 :(得分:1)

在浏览了大量的pimcore-backend-Classes后,我找到了解决方案here

$config = \Zend_Registry::get("pimcore_config_system");
$validLanguages = strval($config->general->validLanguages);