Tabs sitecore中的自定义/编辑器选项卡顺序

Tabs sitecore中的自定义/编辑器选项卡顺序,tabs,sitecore,Tabs,Sitecore,我正试图找到一种方法来更改sitecore自定义/编辑器选项卡的顺序。默认情况下,sitecore会根据需要显示自定义选项卡、内容选项卡和动态选项卡 改变选项卡顺序的唯一方法是深入研究sitecore。sitecore论坛也没有帮助。如果这在sitecore中是可配置的,有什么想法吗?上面提到的帖子很旧,此后可能发生了变化,但我没有找到任何相关信息。从Sitecore 8.0更新3开始,用于检索选项卡的Sitecore代码仍然与添加的Bucket选项卡相同: 从Sitecore.Shell.A

我正试图找到一种方法来更改sitecore自定义/编辑器选项卡的顺序。默认情况下,sitecore会根据需要显示自定义选项卡、内容选项卡和动态选项卡


改变选项卡顺序的唯一方法是深入研究sitecore。sitecore论坛也没有帮助。如果这在sitecore中是可配置的,有什么想法吗?上面提到的帖子很旧,此后可能发生了变化,但我没有找到任何相关信息。

从Sitecore 8.0更新3开始,用于检索选项卡的Sitecore代码仍然与添加的Bucket选项卡相同:

Sitecore.Shell.Applications.ContentManager.Editor
类中的
Sitecore.Client.dll
检索

private static List<Editor.EditorTab> GetEditorTabs(Item item, Editor.Sections sections)
{
    Assert.ArgumentNotNull(item, "item");
    Assert.ArgumentNotNull(sections, "sections");
    List<Editor.EditorTab> editorTabs = new List<Editor.EditorTab>();
    Editor.GetCustomEditorTab(item, editorTabs);
    Editor.GetCustomEditorTabs(item, editorTabs);
    Editor.GetContentTab(item, sections, editorTabs);
    if (InternalSettings.ItemBucketsEnabled)
    {
        Editor.GetNewSearchTab(item, sections, editorTabs);
    }
    Editor.GetDynamicTabs(item, editorTabs);
    return editorTabs;
}
private静态列表GetEditorTabs(项目、编辑器部分)
{
Assert.ArgumentNotNull(项目,“项目”);
Assert.ArgumentNotNull(第节,“第节”);
列表编辑器tabs=新列表();
GetCustomEditorTab(项,EditorTab);
GetCustomEditorTabs(项,editorTabs);
GetContentTab(项、节、编辑器选项卡);
if(InternalSettings.ItemBucketsEnabled)
{
GetNewSearchTab(项、节、编辑器选项卡);
}
GetDynamicTabs(item,editorTabs);
返回编辑器选项卡;
}

所以不幸的是,看起来这仍然是它们被渲染的顺序。正如文章所提到的,这可能会被覆盖,但可能会涉及到很多问题。

我实现了这一点,但略有不同。对解决方案不是100%满意,但在找到更好的选择之前,它是有效的

在“我的自定义”选项卡中,它显示为第一个选项卡,因此在我选择项目时显示为活动选项卡。我添加了以下JavaScript代码,将活动选项卡更改回标准Sitecore选项卡

     parent.scContent.onEditorTabClick(this, null, "Content");
当选项卡是iFrame时,代码转到父窗口,并将活动选项卡设置为“内容”选项卡

我的自定义选项卡是在Sitecore 8上运行的SPEAK选项卡。下面是SPEAK javascript页面代码供参考

我也写了一篇关于这个主题的博文: