我正在尝试对复制操作进行自定义。当编辑器进行项目复制操作(右键单击项目>复制>复制到)时,我需要限制所选项目具有两个以上子级别的情况,然后,我需要显示警告/消息“项目复制失败”。你能建议我吗,如何实现这一目标。
只是我想限制子项剩余>2时的操作
最好的方法可能是覆盖现有的
Sitecore.Shell.Framework.Commands.CopyTo
命令并实现您自己的 QueryState
逻辑,您基本上只是测试 context.Items[0]
是否具有两个以上级别。显示消息可能会很棘手,因此我建议使用 QueryState
方法返回 Disabled
。在测试您获得的级别时,您可能应该避免遍历项目树。如果有很多项目,遍历项目树可能会非常慢。为此执行一些 Solr 查询。
一旦您拥有自己的
CopyTo
命令,请使用您自己的类修补 type
配置中的 <command name="item:copyto">
属性。