【发布时间】:2017-06-13 15:22:20
【问题描述】:
标题说明了我的问题
在 sitecore 6.6 上,我必须订购一个文件夹中的项目,我已经在谷歌上搜索了几天,但没有成功。
有人可以帮忙吗?我尝试设置 __Sortorder 字段,但我收到一条错误消息,指出该属性是只读的。
【问题讨论】:
标签: sitecore
标题说明了我的问题
在 sitecore 6.6 上,我必须订购一个文件夹中的项目,我已经在谷歌上搜索了几天,但没有成功。
有人可以帮忙吗?我尝试设置 __Sortorder 字段,但我收到一条错误消息,指出该属性是只读的。
【问题讨论】:
标签: sitecore
根据您所写的内容(“但我收到一条错误消息,指出该属性是只读的”),您在更改 Sort Order 字段值之前尚未开始编辑该项目。
最简单的代码是:
item.Editing.BeginEdit();
item[Sitecore.FieldIDs.Sortorder] = "25"; // or any other new value
item.Editing.EndEdit();
Editing.BeginEdit() 和 Editing.EndEdit() 在每次更改项目操作之前和之后都是必需的。
在旧的 Sitecore 版本中,开发人员过去常常使用 using (new Sitecore.Data.Items.EditContext(item)),但据我所知,不再推荐它。
这是一篇关于 Sitecore 项目编辑的示例文章:How to edit an Item in Code Behind
【讨论】:
item[Sitecore.FieldIDs.Sortorder] = "25"; 而不是 item.Fields[Sitecore.FieldIDs.Sortorder] = "25";
__Sortorder 模板字段有一个“只读”复选框,您可以使用它来允许写入该字段。
您可以使用主菜单中的排序按钮:
或者键盘快捷键:
【讨论】: