如何将多语言值分配给 ojs 模态中的多语言表单元素?

How to assign multilingual values to multilingual form element in ojs modal?

我正在为自定义元数据字段使用自定义插件。当我尝试在元数据模式中编辑字段时,当前活动语言以外的语言字段为空。我想修改代码,使其在相应字段中显示所有支持语言的值。

插件的编辑功能包含以下代码:

$additional=$metadatafieldDAO->getAdditionalFieldValue($articleId, ‘additional’);
$templateMgr->assign(‘additional’,$additional);

修改 getAdditionalFieldValue 函数很容易return所有支持语言的值,但我不知道如何将这些值分配给字段并显示它们。

以下是附加元数据字段的模板:

{fbvFormSection label="plugins.generic.articleMetadata.additional" }
        {fbvElement type="textarea" rich="extended" multilingual=true name="additional" id="additional" value=$additional }
{/fbvFormSection}

经过一些搜索和试验,我刚刚找到了答案。

因此,只需将关联数组传递给函数即可更新多语言字段 $templateMgr->assign()

数组采用 $array[$locale]=$value_for_that_locale 的形式。例如:

$additional[‘en_US’]=“additional metadata”;
$additional[‘ar_IQ’]=“بيانات وصفية اضافية”;
$templateMgr->assign(‘additional’,$additional);