本文介绍了Sitecore以编程方式设置多引用字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有项目/ID集合,如何以编程方式设置多引用字段值?

例如,生成以下原始值"{Guide 1}|{Guide 2}|{Guide 3}."


在我的特定案例中,我需要导入一个项目树,在某一级别上,父级使用子级作为存储库,并且它还具有基于某些条件的子级子集的多引用列表。我想根据排序或筛选来构建一个灵活的列表,然后设置父字段的值,而不使代码特定于列表类型-父字段可以是任何列表。

例如,为每个父级构建规则为"WHERE[IS ODD]orderby Child desc"并设置为"Odd"字段的自定义列表

  • Parent1->Parent1["奇数"]=5
    • 2
    • 5
  • Parent2->Parent2["奇数"]=3,1
    • 1
    • 2
    • 3

推荐答案

使用类Sitecore.Text.ListString生成值

示例:

// Incomplete code snippet assumes variable Item item with list field "References"
// and IEnumerable<ID> references

Sitecore.Text.ListString referencesValue = new Sitecore.Text.ListString();

foreach(ID id in references)
{
   string idString = id.ToString();
   if (!referencesValue.Contains(idString))
   {
       referencesValue.Add(idString);
   }
}

item.Editing.BeginEdit();
item["References"] = referencesValue.ToString();
item.Editing.EndEdit();

这篇关于Sitecore以编程方式设置多引用字段值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 20:13