不幸的是,这并不完全简单。在最简单的情况下,您应该编写两个简单的脚本。
遵循以下工作流程:
- 复制三个字段,例如。NameTemp、DescTemp 和 CategoryTemp
- 创建一个脚本,将数据从 Name 复制到 NameTemp,从 Desc 复制到 DescTemp,将 Category 复制到 CategoryTemp
复制后执行以下操作:
- 将字段 Name、Desc、Category 移动到本地化字段 -(您的数据仍留在 NameTemp、DescTemp 和 CategoryTemp 中)
- 现在创建一个新脚本,将数据从 NameTemp 复制到 Name,DescTemp 复制到 Desc,CategoryTemp 复制到 Category
示例脚本(未测试):
// First run copyValueFromFieldsToTempFieldsAction(),
// then move the fields into localized field,
// afterwards run copyValueFromTempFieldsToFieldsAction()
// in the end remove temp fields
public function copyValueFromFieldsToTempFieldsAction(){
$this->disableViewAutoRender();
$objectList = new \Pimcore\Model\YourObject\Listing();
//$object_list->setObjectTypes(array(Object_Abstract::OBJECT_TYPE_VARIANT));
/* @var $object Object_PrdktResetkeNaZalogi */
foreach($objectList as $object){
$object->setNameTemp($object->getName());
$object->setDescTemp($object->getTemp());
$object->setCategoryTemp($object->getCategory());
$object->save();
}
}
public function copyValueFromTempFieldsToFieldsAction(){
$this->disableViewAutoRender();
$objectList = new \Pimcore\Model\YourObject\Listing();
//$object_list->setObjectTypes(array(Object_Abstract::OBJECT_TYPE_VARIANT));
/* @var $object Object_PrdktResetkeNaZalogi */
foreach($objectList as $object){
$object->setTemp($object->getNameTemp());
$object->setDesc($object->getTemp());
$object->setCategory($object->getCategorTemp());
$object->save();
}
}