基础 CURD
Database db = Sitecore.Configuration.Factory.GetDatabase("master");
Language lang = Language.Parse("en");
TemplateItem folderTemplate = db.GetTemplate(" /sitecore/templates/Common/Folder");
// 获取 Home Item
Item homeItem = db.GetItem("/sitecore/content/Home");
// 判断 ItemName 是否合规
bool isVaildItemName = ItemUtil.ProposeValidItemName("NewItemName");
// 添加一个 Item
Item newItem = homeItem.Add("NewItemName");
// 或
newItem = homeItem.Add("NewItemName", TemplateItem);
// 添加一个 Version,当 Item 不存在时,即是添加一个 Item
newItem = newItem.Versions.AddVersion();
// 切换 Language 上下文
using (new LanguageSwitcher(language))
{
// 在此 Block 内获取的 Item 将会指定语言的 Item
Item helloItem = db.GetItem("/sitecore/content/Home/Hello");
}
// 编辑内容
if (!item.Editing.IsEditing){
newItem.Editing.BeginEdit();
newItem.Field["Content"] = "Hello, this is a demo.";
// 也可以使用 ID 来指定其中的 Field,此处的 ID 是 FieldIDs.Workflow。
newItem.Field["{A4F985D9-98B3-4B52-AAAF-4344F6E747C6}"] = "Hello, this is a demo.";
newItem.Editing.EndEdit();
// 也可以使用 using 来 Edit
using(new EditContext(newItem)){
// TODO: Item Editing...
}
}
// 因为有时会出现权限问题,可使用 SecurityDisabler 来处理
using (new SecurityDisabler()){
// TODO: Item Editing...
}
// 如果出现权限或 Site 的问题,可以使用下面这个 Switcher 和 SecurityDisabler 一起处理
using (new SiteContextSwitcher(SiteContext.GetSite("shell")))
using (new SecurityDisabler()){
// TODO: Item Editing...
}
// 删除 Item,这个没啥好说的
newItem.Delete();
newItem.DeleteChildren();
Sitecore 提供的 Fields 和 Utils
Sitecore.Fields
Utils
- ItemUtils