如何创建链接到SDL Tridion CME中特定选项卡的上下文菜单项?

Chr*_*ers 6 tridion tridion-2011

我想使用GUI扩展将一个项添加到上下文菜单中,该扩展直接链接到视图中的选项卡.

一个很好的例子是SDL Tridion的旧版本.上下文菜单中的组件的"信息"选项卡有一个链接,该选项卡直接在"信息"选项卡上打开组件视图.

是否可以重新创建,如果有的话,是否有关于如何链接到特定选项卡的示例?

我尝试将以下JavaScript添加到我的tab.js:

var tabname = $url.getHashParam("tab")
if (tabname != '') {
    if ($j('#' + tabname)) {
        $j('#' + tabname).focus();
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码正确触发,但选项卡永远不会被选中.有没有一种实际选择标签的方法?

Fra*_*len 5

我要说你需要写两部分:

  1. 该命令打开弹出窗口需要将参数传递给弹出窗口,该弹出窗口指示要关注的选项卡
  2. 在弹出窗口中,您需要一些识别/解析参数的JavaScript,然后聚焦正确的选项卡

我认为已经有一些将命令从命令传递到其弹出窗口的示例,因此将重点关注#2.

在弹出窗口中选择一个选项卡

当您在Tridion GUI中看到选项卡时,它们通常是一部分Tridion.Controls.TabControl.如果您在弹出窗口中运行了JavaScript,则可以使用此代码段获取所有选项卡控件:

var tab = $controls.getControl($("#MasterTabControl"), 
                               "Tridion.Controls.TabControl");
Run Code Online (Sandbox Code Playgroud)

然后我们只需要选择正确的选项卡:

tab.selectItem('InfoTab');
Run Code Online (Sandbox Code Playgroud)

InfoTab我们想要关注的选项卡在哪里,因此您传递给弹出窗口的参数.