pimcore:使用本地化字段更新对象

Posted

技术标签:

【中文标题】pimcore:使用本地化字段更新对象【英文标题】:pimcore: updating objects with localized fields 【发布时间】:2015-02-16 03:16:56 【问题描述】:

我在更新 pimcore 中的对象时遇到了一个奇怪的问题。 我创建了一个包含一些普通字段和本地化字段的类,然后是该类中的一些对象。 可以直接通过 pimcore 编辑所有对象,但唯一可以通过控制器更新的对象是填充了所有本地化字段的对象,尽管其中一些字段可能不会在表单中使用。也就是说,除非之前填充了对象的所有本地化字段,否则不会更新对象。

有什么提示吗?

编辑:

这是来自我的控制器的一段代码:

$newTitle = Object_TitleArchive::getById(251);
$newTitle->setName('New Name'); 
$newTitle->save();

除非对象的所有本地化字段在之前或现在都已填充,否则它不起作用。

修订:3086

【问题讨论】:

如果您显示一些代码来为您的问题提供上下文,您可能会得到更好的响应。 请说明您在哪个版本的 pimcore 上观察到了这种行为。 您是否在运行控制器的文档上指定了语言?如果这不是问题,可能的解决方法是在更新对象时为本地化字段指定默认值。 (您也可以这样指定语言:$newTitle->setName('New Name',$locale); 是必填项吗?如果是这样,该字段的所有语言版本都需要填写。 是的,这对我来说听起来像是一个必填字段问题。 【参考方案1】:

Settings -> Object -> Classes 下检查,然后在您定义的类下检查。如果放置在本地化字段下的组件选中了复选框 Mandatory Field,请删除该复选框或填写所有必需语言的值。

【讨论】:

以上是关于pimcore:使用本地化字段更新对象的主要内容,如果未能解决你的问题,请参考以下文章

本地化字段集合 Pimcore

列出对象时的 Pimcore 异常

将 pimcore 从服务器移动到本地时出现致命错误

Pimcore - 相关对象值没有得到

Pimcore:更新到 Pimcore 4 后无法使用 Pimcore\Model\Object

Pimcore / Symfony 找不到‘pimcore_customer_management_framework’的扩展