【发布时间】:2016-07-19 18:48:17
【问题描述】:
我正在创建一个导入脚本,以使用电子表格中的数据更新我在 Sitecore 中的项目。有几个字段是多列表。例如,应该输入到多列表中的电子表格中的数据可能是“红、蓝、绿”。如何编辑多列表字段的值?
【问题讨论】:
我正在创建一个导入脚本,以使用电子表格中的数据更新我在 Sitecore 中的项目。有几个字段是多列表。例如,应该输入到多列表中的电子表格中的数据可能是“红、蓝、绿”。如何编辑多列表字段的值?
【问题讨论】:
我假设您已经在 Sitecore 中拥有称为颜色的项目。您需要找到他们的 ID 并将其设置为您的字段值,并以 | 字符分隔,例如{some-guid}|{another-guid}|{and-one-more-guid}.
Item redColorItem;
Item blueColorItem;
Item greenColorItem;
Item importedItem;
importedItem["Colors"] = redColorItem.ID + "|" + blueColorItem.ID + "|" + greenColorItem.ID
【讨论】:
我想扩展以前的答案。 Sitecore 中有用于处理多列表字段的 API,您应该考虑使用它,而不是手动生成管道分隔的字符串值。比如:
using (new EditContext(item))
{
MultilistField mlField = new MultilistField(item.Fields["Multilist"]);
mlField.Add(redColorItem.ID.ToString());
mlField.Add(blueColorItem.ID.ToString());
mlField.Add(greenColorItem.ID.ToString());
}
【讨论】:
您可以了解在内容编辑器中打开“原始值”时应该在字段中输入的内容。
多列表字段包含带有“|”的其他项目的 ID分隔器。这意味着您应该创建红色、蓝色和绿色项目作为您的字典。然后将“红、蓝、绿”转换为{绿色项目的 ID}|{蓝色项目的 ID}|{绿色项目的 ID。}
【讨论】: