通过编码将模板分配给“__Base模板”?

时间:2014-02-12 06:35:29

标签: c# sitecore

我正在以编程方式创建TemplateItem[TempA],如下所示。我必须为__Base template的{​​{1}}分配更多模板。对于项目,我们可以创建如下:

TemplateItem[TempA]

以上仅适用于物品。如何为Sitecore.Data.Items.Item myItem = CatalogHome.Add(txtBrandName.Text, sample); var baseProductTemplateIds = SelectedProductItems.Select(item => item.ID.ToString()); var fieldValue = string.Join("|", baseProductTemplateIds); using (new Sitecore.SecurityModel.SecurityDisabler()) { try { myItem.Editing.BeginEdit(); myItem["__Base Template"] = fieldValue; myItem.Editing.EndEdit(); } catch (Exception ex) { Sitecore.Diagnostics.Log.Error("Exception Message: " + ex.Message, this); } } 实现相同的目标?按如下方式创建TemplateItem

templateItem

1 个答案:

答案 0 :(得分:2)

TemplateItem类具有InnerItem属性,该属性引用树中的原始Sitecore.Data.Items.Item。您可以编辑此项目,模板将更新:

Sitecore.Data.Items.TemplateItem sample = master.Templates["System/Templates/Template"];
sample.InnerItem.Editing.BeginEdit();
sample.InnerItem["__Base Template"] = fieldValue;
sample.InnerItem.Editing.EndEdit();