首页 > 其他分享 >Sitecore Item CURD

Sitecore Item CURD

时间:2023-12-12 12:45:03浏览次数:35  
标签:newItem Item CURD new Sitecore using Editing

基础 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

image

Utils

  1. ItemUtils

标签:newItem,Item,CURD,new,Sitecore,using,Editing
From: https://www.cnblogs.com/fires/p/17896519.html

相关文章

  • 将绑定到itemsource的控件里面的元素绑定到itemsource数据源之外的viewmodel中的数据
    1<ComboBox.ItemTemplate>2<DataTemplate>3<StackPanelOrientation="Horizontal">4<TextBlockWidth="100"Text="{BindingKey}"/>5<ButtonContent="X"......
  • One added/edited TODO item was found. Would you like to review it?
    ......
  • C# ListView失去焦点仍然保持选中的Item高亮
    1privatevoidlistView_Validated(objectsender,EventArgse)2{3if(listView.FocusedItem!=null)4{5listView.FocusedItem.BackColor=SystemColors.Highlight;6listView.FocusedItem.ForeColor=Color.White;......
  • MySQL数据表的CURD
    一、数据表的CURD1.create数据创建一个员工表,新建employee表并向表中添加一些记录:创建数据表:createtableemployee(idint,namevarchar(20),sexint,birthdaydate,salarydouble,entry_datedate,resumetext);向数据表中插入数据:insertintoemployeevalues(......
  • MySQL数据库的CURD
    一、数据库的CURD对数据库进行增(Create)、改(Update)、查(Retrieve)、删(Delete)等操作。CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]db_name[create_specification[,create_specification]...]IFNOTEXISTS表示只有数据库不存在的时候才创建,如果存在同名就不再执......
  • dapper实现CURD
    dapper的使用 1、引用包 2、student类[Table("dbo.Student")]publicpartialclassStudent{[Required]publicintId{get;set;}publicstringName{get;set;}publicstringAddress{get;set;}}2、DapperRepository中以下两个......
  • Qt中QStyledItemDelegate的使用(二)
    延续上一篇文章。本文给出了一个QStyledItemDelegate类自定义绘制加自定义编辑框的例子。为方便读者理清思路,我已经尽量简化本文附加的代码了。此程序模拟用户给出星级评价的效果,在编辑状态下用户可以设置0~5个星星的评价,在普通状态下界面显示对应数量的金黄色星星。本文代码在VS2......
  • mybatis---CURD
    查询记录<selectid="getUserList"resultType="org.example.pojo.User">select*fromuser.use1</select><selectid="getUserByid"resultType="org.example.pojo.User"parameterType="i......
  • On Manipulating Signals of User-Item Graph A Jacobi Polynomial-based Graph Colla
    目录概符号说明MotivationJGCF代码GuoJ.,DuL,ChenX.,MaX.,FuQ.,HanS.,ZhangD.andZhangY.Onmanipulatingsignalsofuser-itemgraph:Ajacobipolynomial-basedgraphcollaborativefiltering.KDD,2023.概利用JacobiConvolution来区分高中低频信号......
  • Android Recyclerview的item间距实现
    Recyclerview中,提供了一个方法addItemDecoration给我们用于设置item的分割线下面提供几个常见的分割线效果注:下面的SizeUtils是AndroidUtilCode此库里的工具类,需要添加依赖,也可以自行修改封装的方法(主要是将dp单位转为px)以下代码已封装在我的库中stars-one/XAndroidUt......