【发布时间】:2016-01-14 10:56:11
【问题描述】:
我正在寻找一种方法,让内容编辑者有权归档某些类型的项目,同时防止他们删除这些相同的项目。
我已经为 item:deleting 事件添加了一个自定义事件处理程序。由于归档和删除都会触发此事件,我想向处理程序添加一些代码,以检查用户是否正在删除或归档项目。如果用户正在删除项目,删除操作将被取消。
有没有办法做到这一点?
【问题讨论】:
标签: sitecore sitecore7.5
我正在寻找一种方法,让内容编辑者有权归档某些类型的项目,同时防止他们删除这些相同的项目。
我已经为 item:deleting 事件添加了一个自定义事件处理程序。由于归档和删除都会触发此事件,我想向处理程序添加一些代码,以检查用户是否正在删除或归档项目。如果用户正在删除项目,删除操作将被取消。
有没有办法做到这一点?
【问题讨论】:
标签: sitecore sitecore7.5
1) item:deleting 事件无法实现
2) 考虑根据角色禁用或删除内容编辑器的 delete 选项。
来自his Blog 的 John West 的详细信息:
...通常,您可以这样做 通过覆盖命令的 QueryState() 方法来实现。我认为 您的 QueryState 将覆盖默认值以调用该默认值。如果 该结果是可见/启用的,但您的逻辑说它不应该 是,然后返回禁用(为了避免紧张的 UI,最好 禁用而不是隐藏命令)。这有更多关于自定义访问的详细信息 权利(实际上可能适用于您的情况),但有一些细节 关于查询状态: http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2013/02/allow-users-to-unlock-items-locked-to-others-in-the-sitecore-aspnet-cms.aspx 除非它们调用相同的命令,否则您可能需要考虑其他 触发这些操作的方法,例如从体验中 编辑器(可能需要覆盖另一个或两个 QueryState)并且可能 其他地方。
【讨论】: