1

我对此有点坚持:我有一个控制器,我在其中收集 pimcore 中一个对象的所有可用语言。
现在我只是从该对象中获取一个本地化字段,通过它运行foreach并用本地化字段的键填充一个数组。所以我得到了那个对象的所有语言。但这是我编码过的最丑陋的部分 :)

更新 - 这是代码:

$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 也应该有这个信息,但我不明白。

有人对我有线索吗?提前致谢!

4

1 回答 1

2

在浏览了大量 pimcore-backend-Classes 之后,我在这里找到了解决方案:

$config = \Zend_Registry::get("pimcore_config_system");
$validLanguages = strval($config->general->validLanguages);
于 2015-05-08T05:11:47.490 回答