Sitecore Item CURD
基础 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
- FieldIDs
- ItemIDs
- TemplateIDs
- RenderingIDs
- DeviceFieldIDs
- LayoutFieldIDs
- TemplateSectionFieldIDs
- WorkflowFieldIDs
- UserFieldIDs
- TemplateFieldIDs
- ShellFieldIDs
- SecurityDatabaseTemplateIDs
- ScheduleFieldIDs
- RuleIds
- RoleFieldIDs
- RibbonButtonIDs
- PublishingTargetFieldIDs
- PackageRegistrationFieldIDs
- ItemBucketIDs
- PackageRegistrationFieldIDs
- FieldButtonIDs
- UsedBlobIdsPagedListProviderFacade
- UsedBlobIdsPagedListProvider
- PagedBlobIdsResult
- CommandsCommandFieldIDs
- CommandFieldIDs
- ArchivedItemFieldIDs

Utils
- ItemUtil
- DateUtil
- MainUtil
- StringUtil
- LanguageUtil
- UIUtil
- XmlUtil
- XmlPatchUtils
- XmlDiffUtils
- WebUtil
- WebEditUtil
- GridUtil
- HtmlUtil
- CustomHandlerUtil
- GuidUtility
- EmailUtility
- FeedUtil
- DeviceSimulationUtil
- SecuritySerializationUtils
- SecurityUtility
- SecurityUtil
- ConditionsUtility
- HashingUtils
- TypeUtil
- ReflectionUtil
- StreamUtil
- IOUtils
- PackageUtils
- ItemKeyUtils
- PathUtils
- ZipUtil
- FileUtil
- DefaultZipUtil
- SqlUtil
- PathUtils
- SerializationUtils
- CommonUtils
- QueryUtil
- FieldUtil

Managers
- ItemManager
- MediaManager
- LinkManager
- SiteManager
- TemplateManager
- LanguageManager
- LayoutManager
- Manager
- ModeManager
- XamlManager
- TicketManager
- RuleManager
- FeedManager
- CommandManager
- GutterManager
- GalleryManager
- LicenseManager
- DomainManager
- HttpAuthenticationManager
- AuthenticationManager
- UserManager
- RolesInRolesManager
- AuthorizationManager
- AccessRightManager
- MediaPathManager
- PreviewManager
- PresentationManager
- ControlManager
- JobManager
- HookManager
- ValidatorManager
- StandardValuesManager
- BaseItemSerializationManagerExtensions
- ThemeManager
- HistoryManager
- LanguageFallbackFieldValuesManager
- InternManager
where T : class - FieldTypeManager
- ArchiveManager
- PagePreviewManager
- AuthorizationManager
- ApplicationsManager
- ControlManager


浙公网安备 33010602011771号