tridion - 如何获得插入组件演示窗口弹出窗口?

标签 tridion tridion-2011

我想在我的自定义 aspx 页面中引入“插入组件演示”功能(点击“插入 CP”按钮时会弹出)

  • 创建自定义按钮“插入 CP”(完成)
  • 当用户从富文本框中选择任何文本并单击按钮时,我需要打开一个窗口,用户可以在其中选择组件和组件模板。

  • 任何人都可以提出建议/想法如何使用户可以选择组件和组件模板的窗口(例如,当用户打开页面时,导航到组件演示选项卡,当他单击“插入”按钮时,相同的功能是我正在从组件富文本框中查看。)

    最佳答案

    看看 ComponentPresentations.js,它会打开那个弹出窗口:



    Tridion.Cme.ComponentPresentationsTab.prototype.onInsertClick = 
                 function ComponentPresentationsTab$onInsertClick()
    {
        var p = this.properties;
        if (p.insertDialog.isOpen())
        {
            p.insertDialog.focus();
        }
        else
        {
            p.insertDialog.open();
        }
    };
    

    在此之前它当然需要确保p.insertDialog已正确初始化,它在其 _initializeInsertDialog 中已完成方法。我不会在这里重现代码,因为你可以查找它 受版权保护的 Material (我假设只是复制上面的片段以某种方式属于合理使用)。

    备注 : 我得到了这个答案:
  • 右键单击“页面”弹出窗口的“组件演示”选项卡上的“插入”按钮
  • 选择“检查元素”
  • 记录元素的 id(在本例中为 buttonComponentInsert)
  • 搜索 web\WebUI该值的 Tridion 安装文件夹的子目录

  • 这导致了一个名为 ComponentPresentations.js 的文件中的单次命中:

    buttons.Insert = $controls.getControl($("#buttonComponentInsert"),
                                          "Tridion.Controls.Button");
    

    鉴于这是将 HTML 中的按钮转换为功能控件的地方,其余的只是关注 ComponentPresentation.js 中该按钮发生的情况。

    关于tridion - 如何获得插入组件演示窗口弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742731/

    相关文章:

    tridion - 为什么工作流项目被暂停?

    tridion - CDA 代理 API : Get ComponentPresentations by list of component IDs

    tridion - 如何自动更新通讯组列表扩展字段值?

    tridion - 如何为禁用文本框中更改的文本连接 Tridion GUI 扩展事件?

    tridion - 此用户的模拟需要将 DOMAIN\MTSUSER 帐户配置为模拟用户

    tridion - 有没有任何工具/方法可以创建/将所有类别和关键字从 XML 文件导入到 tridion

    tridion - 从一个 CMS 发布到不同 CMS 的 CDS

    tridion - 如何从组件DWT中访问组件模板ID?

    tridion - Tridion 2011 中的 Session.GetObject 为不存在的项目返回组件

    api - Tridion 2011中的StructureGroup IsPublishable属性