我有点困惑:我有一个控制器,我正在为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也应该有这个信息,但我不明白。
有没有人能为我提供线索?提前谢谢!
答案 0 :(得分:1)
在浏览了大量的pimcore-backend-Classes后,我找到了解决方案here:
$config = \Zend_Registry::get("pimcore_config_system");
$validLanguages = strval($config->general->validLanguages);