2012-07-24 67 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