Sitecore 6.6项目存储桶模块:非活动存储桶按钮
我已经运行了带SIP3.2的Sitecore 6.6,并且希望使用项目存储桶(在这种情况下,更新到Sitecore 7对我们不起作用)。所以我安装了()并在Sitecore中显示了新的菜单图标。问题是,当我在内容树中选择一个项目时,Bucket按钮(将项目转换为Bucket)始终处于非活动状态。请参见以下屏幕截图: 谷歌搜索没有帮助。你知道怎么了吗 编辑: 访问查看器: 安全编辑器:Sitecore 6.6项目存储桶模块:非活动存储桶按钮,sitecore,sitecore6,bucket,Sitecore,Sitecore6,Bucket,我已经运行了带SIP3.2的Sitecore 6.6,并且希望使用项目存储桶(在这种情况下,更新到Sitecore 7对我们不起作用)。所以我安装了()并在Sitecore中显示了新的菜单图标。问题是,当我在内容树中选择一个项目时,Bucket按钮(将项目转换为Bucket)始终处于非活动状态。请参见以下屏幕截图: 谷歌搜索没有帮助。你知道怎么了吗 编辑: 访问查看器: 安全编辑器: 此按钮将被禁用时有3种情况: 这个物品已经是桶了 项目未锁定 用户没有对所选项目的bucket:makebu
此按钮将被禁用时有3种情况:
bucket:makebucket
的访问权限编辑: 您可以随时调试此命令,并查看其被禁用的原因 在项目中创建一个名为
MakeBucket
的类(将My.Assembly.Namespace
更改为项目名称空间):
namespace My.Assembly.namespace
{
使用System.Collections.Specialized;
使用Sitecore.Diagnostics;
使用Sitecore.ItemBucket.Kernel.ItemExtensions.Axes;
使用Sitecore.ItemBucket.Kernel.Kernel.Pipelines;
使用Sitecore.ItemBucket.Kernel.Security;
使用Sitecore.Shell.Framework.Commands;
内部类MakeBucket:Command
{
公共覆盖无效执行(CommandContext上下文)
{
Assert.ArgumentNotNull(上下文,“上下文”);
var items=context.items;
IsNotNull(items,“上下文项列表为null”);
Context.ClientPage.Start(“uiBucketItems”,新的BucketRags(items[0],new NameValueCollection());
}
公共覆盖CommandState查询状态(CommandContext上下文)
{
错误。AssertObject(上下文,“上下文”);
var item=context.Items[0];
如果(!new BucketSecurityManager(item).IsAllowed创建Bucket)
{
返回CommandState.Disabled;
}
如果(!item.Locking.HasLock())
{
返回CommandState.Disabled;
}
返回项.IsBucketItemCheck()?CommandState.Disabled:CommandState.Enabled;
}
}
}
并将其注册到App\u Config/Include/Sitecore.ItemBucket.Config
中,而不是原始的item:bucket
命令:
使用调试器连接,并在
QueryState
方法中放置断点。结果表明,必须锁定要转换为bucket的项(单击主页->编辑)。此时铲斗按钮处于激活状态。无论如何,谢谢你的帮助 说得好。我现在在access viewer中分配了生成和取消生成bucket的权限,但bucket按钮仍然处于非活动状态。您能否从access viewer粘贴一个屏幕截图,显示您对此项目的访问权限?您能检查此项目是否已锁定吗?在第一篇文章中添加了Access Viewer和Security Editor的屏幕截图。我想变成一个桶的东西是“Aktuelles”。此项不应锁定。它前面的内容编辑器中没有锁定符号。