首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地化记录并使用DataHandler进行更新

本地化记录并使用DataHandler进行更新
EN

Stack Overflow用户
提问于 2020-08-27 13:32:37
回答 2查看 303关注 0票数 0

可以使用DataHandler的" localize“命令来本地化记录

代码语言:javascript
复制
$cmd[self::TABLE_NAME] = [
  uid_of_the_original_record => [
    'localize' => language_uid,
  ]
];
$this->dataHandler->start([], $cmd);
$this->dataHandler->process_cmdmap();

这将正确地将转换后的记录添加到DB中,但使用原始记录的复制字符串。如何编辑本地化记录的属性?之后使用update命令?如果是,我如何获得添加的本地化的uid?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-27 14:02:08

实际上,您可以使用数据映射来创建本地化:

代码语言:javascript
复制
$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();

这样,您就可以在创建本地化时直接设置其他字段。

票数 2
EN

Stack Overflow用户

发布于 2020-08-27 13:58:49

目前,不可能同时运行localize并将已翻译的内容放在其中。

我可以看到两种选择:

afterwards

  • Hook

  • 获取所有已翻译的元素(通过原始UID ),并将每个元素中的翻译内容设置为processCmdmap_postProcessprocessCmdmap_afterFinish,并将翻译后的内容放入

我和一个进口商有同样的问题,并且使用了选项1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63617144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档