5

Tridion2011とページプロセスワークフローもあります。保存前のページにイベントハンドラーがあります。ユーザーがページを保存すると、イベントハンドラーが呼び出されてページのメタデータが変更され、ワー​​クフローが開始されます。したがって、ページのマイナーバージョンは、エディタの保存クリックごとに0.3になります。つまり、基本的に:0.1-ページ保存のTridionバージョン0.2-ページメタデータを保存するために実行されるイベントハンドラーコード。Save()呼び出しのために、このコードが再度呼び出され、次のマイナーバージョン0.3になります。-同じイベントハンドラーコードが実行されます。

私が達成しようとしているのは、すべてのユーザーの保存クリックでマイナーバージョンを0.1に保つことです。

Pre Save Post Save、Pre Check in、Post Check inを試し、実行順序、つまりイベントシステムのサブスクライブ呼び出しの最後のパラメーターを変更しましたが、何も役に立ちませんでした。だからpl。ヘルプ :)

4

1 に答える 1

6

イベントで Save() を呼び出すのはなぜですか? ページを保存する前に変更を加えると、Save を呼び出すことなく、すべてを一度に保存する必要があります。

public PageEvent()
{
    EventSystem.Subscribe<Page, SaveEventArgs>(ChangePageTitle, EventPhases.Initiated);
}
private void ChangePageTitle(Page page, SaveEventArgs args, EventPhases phases)
{
    page.Title = "Nuno was here " + page.Title;
}

これにより、ページ タイトルが変更されます。ご覧のとおり、Save は呼び出しません。エディターが既に呼び出しているためです。

于 2012-12-10T19:17:40.193 に答える