Чтение параметров в расширении диалога публикации SDL Tridion 2011 - PullRequest
4 голосов
/ 21 марта 2012

Я построил расширение графического интерфейса для «вставки» своего собственного 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 я хотел бы получить свойства.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);
}

1 Ответ

7 голосов
/ 22 марта 2012

Это должно работать:

function itemsForPublish() {
    alert(window.dialogArguments.items);
}

В 'Publishing.js' (и в 'Publish.js') вы можете видеть, что элементы для публикации отправляются в диалоги всплывающих окон.

...