2012-07-24 61 views
-1

我们可以像这样在我们的JavaScript中使用标准的'InsertCpDialog $ initialize()',这样一旦它初始化,我就可以调用其他函数。我用下面的代码,但它不工作。 :(如何覆盖标准方法的初始化

Type.registerNamespace("Extensions"); 
Extensions.InsertCpDialog.prototype.initialize = function InsertCpDialog$initialize() 
{ 
alert('hi inside insert'); 
var p = this.properties; 
if(window.document.nameProp == "Name" || window.document.title == "Name") { 

    var browserName=navigator.appName; // Get the Browser Name 

    if(browserName=="Microsoft Internet Explorer") // For IE 
    { 
    alert('hi inside IE'); 
//window.onload=init(); // Call init function in IE 
    } 
    else 
    { 
    if (document.addEventListener) // For Firefox 
    { 
    alert('hi inside firefox');  
//document.addEventListener("DOMContentLoaded", init(), false); // Call init function in Firefox 
    } 
} 
} 
} 

原件(标准),一个是这样的:

Type.registerNamespace ("Tridion.Cme.Views"); 
Tridion.Cme.Views.InsertCpDialog = function InsertCpDialog() 
{ 
Type.enableInterface(this, "Tridion.Cme.Views.InsertCpDialog"); 
this.addInterface("Tridion.Cme.Views.DashboardBase"); 
}; 

Tridion.Cme.Views.InsertCpDialog.prototype.initialize = function InsertCpDialog$initialize() 
{ 
} 

编辑

喜坦率谢谢,但我已经用我的代码同样的事情,以获取列表在CP标签下的页面上列出的组件和模板

function getbtn() { 
//alert('inside getbtn'); 
var sbtn = document.getElementById ("buttonComponentInsert"); 
$evt.addEventHandler(sbtn , "click", getListofCPBtnClick); 
} 

function getListofCPBtnClick(e) { 
//code will go here  
} 

我的问题是: 我需要从得到选定的组件和模板ID插入CP窗口。早先我能够通过更改CME扩展标准代码来获得,但我不想这样做,所以首先我我试图从我的JavaScript代码初始化“插入CP窗口”。我可以创建该窗口的事件处理程序,但我的问题是如何初始化,以便我可以调用任何函数,一旦它初始化。请让我知道,如果我非常清楚。

+0

在Frank提到的文章中,Albert提供了回调以在视图加载完成后运行所需的任何代码,并在博客评论中解释了如何扩展特定视图以提高性能以及样例配置。这足以初始化你的代码并创建事件监听器吗? – 2012-08-13 07:41:45

回答

3

脚本是否被加载到对话框中?

如果没有,艾伯特展示了如何做到这一点的位置:http://albertromkes.com/2012/01/30/tridion-gui-extensions-how-to-load-a-javascript-without-showing-a-gui-element/

随后,他还展示了如何监听事件来完成类似你正在尝试做一些事情。

+0

谢谢坦率的说,我已经使用这些代码来创建一个事件处理程序,请帮助我初始化弹出窗口,以便我可以使用我的代码来获取该弹出窗口内的控件。 – SDLBeginner 2012-07-24 13:55:19