3

SDL Tridion 2011 SP1 バージョンを使用しています。

  • システムでワークフローが有効になっています。
  • ページのメタデータを利用するコンテキスト メニュー ボタンがエディターに追加されました。
  • Event System は、SAVE イベントでページ メタデータの現在のページ パスを更新します。

ただし、システムでワークフローが有効になっているため、ある SG から別の SG にページをコピーし、保存ボタンを明示的にクリックすると、ワークフローがトリガーされます。

ワークフローが完了するまで、コンテキスト メニューの JS コードで変更されたメタデータを取得できません (イベント システムは、メタデータ内の変更された現在のページ パスを更新します)。

考えられる理由:マイナー バージョンのメタデータを取得できません。

現在のコード:

var itemId = selection.getItem(0);
var item = $models.getItem(itemId);
var contentXml = item.getStaticXmlDocument();
var currentPath = $xml.getInnerText(contentXml, "//*[local-name()='current_path']");

Java スクリプトでシナリオを処理する方法を教えてください。早めの対応よろしくお願いします。前もって感謝します。

4

2 に答える 2

2

アイテムが読み込まれたと想定しているようです。それはそう頻繁に起こることではありません。

isLoaded() メソッドを確認し、false が返された場合は、コールバックを使用して load() メソッドを呼び出します。次に、アイテムが非同期にロードされるため、コールバックで処理のチェックを行います。

于 2013-02-21T13:17:30.727 に答える