在Tridion功能区中使用Usercontrol创建按钮

在Tridion功能区中使用Usercontrol创建按钮,tridion,tridion-2011,Tridion,Tridion 2011,我创建了一个usercontrol,它有两个按钮,一个在另一个下面,作为 在extension.config中,我引用了usercontrol,如下所示 ~/Controls/ViewItemsGroup.ascx 我的.主题 我是否还需要在extension.config中包含我的按钮详细信息(在usercontrollike ID中提到)?是否需要在---或任何其他地方添加 创建的usercontrol,我只是将其与扩展名.config.js放在一起,并在扩展名.config文件中引

我创建了一个usercontrol,它有两个按钮,一个在另一个下面,作为


在extension.config中,我引用了usercontrol,如下所示


~/Controls/ViewItemsGroup.ascx
我的.主题
  • 我是否还需要在extension.config中包含我的按钮详细信息(在usercontrollike ID中提到)?是否需要在
    ---
    或任何其他地方添加

  • 创建的usercontrol,我只是将其与扩展名.config.js放在一起,并在扩展名.config文件中引用ascx。我是否需要将usercontrol放在其他文件夹中

  • 在extension.config中,在
    ext:dependencies
    节点下指定ItemsGroup的依赖项。这应该指向您的
    cfg:group
    ,在这里您引用一个命令集,该命令集反过来指向您的JavaScript文件。您需要正确地进行这些引用,否则SDL Tridion UI框架将不知道在哪里可以找到您的代码。这个系统就像我们不能表演魔术一样,也没有水晶球

  • 用户控件也是如此,如果不将其与其他扩展文件(如配置、JavaScript和CSS)放在一起,UI框架将如何找到它。放置位置,可以在
    ext:group
    节点中指定。例如,
    ~/Controls/MyItemsGroup.ascx
    然后将其放置在扩展根目录下的子目录
    Controls

  • 然后,您的配置应该是这样的,依赖项指向您在
    resources
    节点下指定的组:

    
    ~/Controls/MyItemsGroup.ascx
    我的命令
    ...
    
    然后在控件中,直接在其属性中引用该命令,这是JavaScript命令,在该命令下,
    \u isAvailable
    \u isEnabled
    方法等都可用。该控件将具有如下功能:

    
    ...
    
    最后,实现按钮命令的JavaScript将在其命名空间中使用CommandName:

    Type.registerNamespace(“扩展”);
    Extensions.MyBtn=函数扩展$MyBtn(){
    Type.enableInterface(这是“Extensions.MyBtn”);
    addInterface(“Tridion.Cme.Command”,[“MyBtn]”);
    };
    Extensions.MyBtn.prototype.\u isAvailable=函数MyBtn$\u isAvailable(选择){
    返回true;
    };
    Extensions.MyBtn.prototype.\u isEnabled=函数MyBtn$\u isEnabled(选择){
    返回此项。\u可用(选择);
    };
    Extensions.MyBtn.prototype.\u execute=函数MyBtn$\u execute(选择){
    //这就是代码的来源
    };
    
  • 在extension.config中,在
    ext:dependencies
    节点下指定ItemsGroup的依赖项。这应该指向您的
    cfg:group
    ,在这里您引用一个命令集,该命令集反过来指向您的JavaScript文件。您需要正确地进行这些引用,否则SDL Tridion UI框架将不知道在哪里可以找到您的代码。这个系统就像我们不能表演魔术一样,也没有水晶球

  • 用户控件也是如此,如果不将其与其他扩展文件(如配置、JavaScript和CSS)放在一起,UI框架将如何找到它。放置位置,可以在
    ext:group
    节点中指定。例如,
    ~/Controls/MyItemsGroup.ascx
    然后将其放置在扩展根目录下的子目录
    Controls

  • 然后,您的配置应该是这样的,依赖项指向您在
    resources
    节点下指定的组:

    
    ~/Controls/MyItemsGroup.ascx
    我的命令
    ...
    
    然后在控件中,直接在其属性中引用该命令,这是JavaScript命令,在该命令下,
    \u isAvailable
    \u isEnabled
    方法等都可用。该控件将具有如下功能:

    
    ...
    
    最后,实现按钮命令的JavaScript将在其命名空间中使用CommandName:

    Type.registerNamespace(“扩展”);
    Extensions.MyBtn=函数扩展$MyBtn(){
    Type.enableInterface(这是“Extensions.MyBtn”);
    addInterface(“Tridion.Cme.Command”,[“MyBtn]”);
    };
    Extensions.MyBtn.prototype.\u isAvailable=函数MyBtn$\u isAvailable(选择){
    返回true;
    };
    Extensions.MyBtn.prototype.\u isEnabled=函数MyBtn$\u isEnabled(选择){
    返回此项。\u可用(选择);
    };
    Extensions.MyBtn.prototype.\u execute=函数MyBtn$\u execute(选择){
    //这就是代码的来源
    };
    
    您真的需要问问题1吗?如果您从extension.config中删除了详细信息,但它不起作用,那么显然它们是必需的。我甚至尝试将'ButtonId'放在extension下,但它显示无效的子元素命令。我需要准确地放置在哪里?您是否检查了配置的模式?你真的需要问问题1吗?如果您从extension.config中删除了详细信息,但它不起作用,那么显然它们是必需的。我甚至尝试将'ButtonId'放在extension下,但它显示无效的子元素命令。我需要准确地放置在哪里?您是否检查了配置的模式?