可以使用DataHandler的" localize“命令来本地化记录
$cmd[self::TABLE_NAME] = [
uid_of_the_original_record => [
'localize' => language_uid,
]
];
$this->dataHandler->start([], $cmd);
$this->dataHandler->process_cmdmap();这将正确地将转换后的记录添加到DB中,但使用原始记录的复制字符串。如何编辑本地化记录的属性?之后使用update命令?如果是,我如何获得添加的本地化的uid?
发布于 2020-08-27 14:02:08
实际上,您可以使用数据映射来创建本地化:
$data[self::TABLE_NAME] = [
'NEW123' => [
'sys_language_uid' => <language-uid>,
'l10n_parent' => <original-record-uid>, // Optionally also l10n_source
// Other fields
],
];
$this->dataHandler->start($data, []);
$this->dataHandler->process_datamap();这样,您就可以在创建本地化时直接设置其他字段。
发布于 2020-08-27 13:58:49
目前,不可能同时运行localize并将已翻译的内容放在其中。
我可以看到两种选择:
afterwards
processCmdmap_postProcess或processCmdmap_afterFinish,并将翻译后的内容放入我和一个进口商有同样的问题,并且使用了选项1。
https://stackoverflow.com/questions/63617144
复制相似问题