我正在使用Sitecore版本8.1并尝试以编程方式创建Templates
,Fields
和Items
(以确保案例项/模板不存在时的某些方案)并且我正在尝试将特定模板的字段设置为shared
或unversioned
但不能,因为:
bool TemplateFieldItem.Shared
属性只有getter
方法(没有setter)。
我的代码:
var icon = PageTemplate.AddField("Icon", "Data");
using (new EditContext(icon.InnerItem))
{
icon.Type = "Image";
icon.Sortorder = 3;
icon.Shared = false;
}
所以我的问题只出在icon.Shared = false;
以及icon.Unversioned = false;
答案 0 :(得分:5)
您需要在内部项目上进行设置。理论上,将字段从版本更改为无版本或从共享更改为非共享是一个复杂的过程,但假设您正在添加这些字段并且应该没有项目,那么您应该没问题,
使用:
icon.InnerItem[TemplateFieldIDs.Unversioned] = "1"; // or null
或:
icon.InnerItem[TemplateFieldIDs.Shared] = "1"; // or null