我已经构建了一个 GUI 扩展来将我自己的 JavaScript“注入”到 SDL Tridion 2011 发布对话框中(如这篇文章和评论中所述:http: //albertromkes.wordpress.com/2012/01/30/tridion-gui- extensions-how-to-load-a-javascript-without-showing-a-gui-element/ )
我在 SDL Tridion 的发布对话框 (publish.js) 中看到,发布对话框采用一些参数(不在 URL 上),这些是传入的。例如:
var p = this.properties;
if (p.params && p.params.items && p.params.items.length > 0)
因此,在我的 JavaScript 中,我想获取 properties.params.items 但我似乎无法掌握它。
我的 JavaScript 代码是在发布视图加载后插入的:
<cfg:extension target="Tridion.Web.UI.Editors.CME.Views.Popups.Publish">
<cfg:insertafter>Extensions.Resources</cfg:insertafter>
</cfg:extension>
在我的 JavaScript(和 Firebug 控制台)中,我尝试使用 获取值$display.getView().properties
,但这会返回一个null
对象。
我一直在使用 Firebug 来查看window
和$display
其他各种对象,但看不到到达该params
对象的方法。
我的 JavaScript 看起来像这样:
$evt.addEventHandler($display, "start", itemsForPublish);
function itemsForPublish() {
var p = $display.getView().properties;
var items = p.params.items || [];
alert(items);
}