コンポーネントのイベントのトリガー


2

コンポーネントパブリッシュイベントでターゲットとするユーザーにメールを送信する必要があります。イベントシステムを使用してこの要件を処理する予定です。しかし、PublishEventArgsのようなイベントを見つけることができません。ここで

は、私が試してみましたコードです -

public void Subscribe() 
    { 

     EventSystem.Subscribe<Component, PublishEventArgs>(SetOrUpdateComponent, EventPhases.Processed); 
    } 

しかし、私のアプリケーションは、イベントとしてPublishEventArgsを認識することができません。私はすでにアセンブリの下に含まれている

は、型または名前空間名「PublishEventArgs」が見つかりませんでした

は(あなたがusingディレクティブまたはアセンブリ参照が不足している をしている?)

- 私はエラーを取得しています -

using Tridion.ContentManager; 
using Tridion.ContentManager.ContentManagement; 
using Tridion.ContentManager.CommunicationManagement; 
using Tridion.ContentManager.ContentManagement.Fields; 
using Tridion.ContentManager.Extensibility; 
using Tridion.ContentManager.Extensibility.Events; 

私はアセンブリを見逃していますか?

enter image description here

+1

これは少し曖昧です。あなたが試したこととその問題点を明確にすることができますか?好ましくは、あなたが試したことのためのコードで。また、コンポーネント動的で、独自に公開されますか?あるいは、彼らは出版されたページにいるでしょうか?どちらも? 30 12月. 152015-12-30 10:17:30

  0

こんにちはPeter、私は以下のメソッドを試してみましたpublic void Subscribe() { EventSystem.Subscribe <Component、PublishEventArgs>(SetOrUpdateComponent、EventPhases.Processed); } しかし、私のアプリケーションはPublishEventArgsを認識できません。 30 12月. 152015-12-30 10:20:17

+1

元の投稿を編集してこれらの詳細を追加してください。基本的には、PublishEventArgsが正しいイベントであると考えてください。 30 12月. 152015-12-30 10:22:32

+1

「私のアプリケーションでは、PublishEventArgsをイベントとして認識できません。」とはどういう意味ですか?コンパイルエラーが出ますか?イベントを起こさないのですか?あなたはデバッグを試みましたか?もしそうなら、あなたのブレークポイントはヒットしていますか?あなたのサイト運営者は別のマシンにアウトスケーリングされていますか? 30 12月. 152015-12-30 10:25:31

  0

私は私の質問でエラーの詳細を更新しました。コンパイルエラーが発生しました - 型または名前空間の名前 'PublishEventArgs'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありませんか?) 30 12月. 152015-12-30 10:34:21

3

あなたはlink上Tridionの2013のすべてのイベントのリストを見つけることができます。イベントの

より詳細な説明は、 "SDL Tridionの2013 SP1 TOM.NET API.chm" で見つけることが可能となるAPI SDLの文書SDL Live Contentにはいくつかのドキュメントがあります:

これは、イベントシステムの使用方法に関する多くのブログがあります。これは、Tridionの一部であり、カバレッジが良好です。 (例えば、this blogはTridion Event Systemの使い方を説明しています)

イベントOnComponentPublish(以前のイベントAPIで使用されていた名前は、上記のイベントマトリックス文書で新しいapiを見つけることができます)。電子メールを送信する必要がある場合の要件に応じて、[開始]または[処理済み]の2つのフェーズから選択できます。あなたはおそらく

が編集...処理済相を必要とする: あなたはおそらく

using Tridion.ContentManager.Publishing; 
  0

情報ありがとうございます。私はそのアセンブリも追加してテストしました。エラーはまだそこにあります。 30 12月. 152015-12-30 10:45:08

  0

私はそのdllを削除して、もう一度インポートして、正しく動作しています。ご協力いただきありがとうございます。 30 12月. 152015-12-30 12:09:17


4

型または名前空間名「PublishEventArgs」に欠けている見つかりませんでした(あなたがusingディレクティブが欠落したりしていますアセンブリ参照)

私はすでに、アセンブリの下に含まれている - ?

...

using Tridion.ContentManager.Extensibility.Events;

すでにディレクティブを使用して正しいが追加されているので、エラーメッセージの他の部分を満たしている必要がありますあなたのプロジェクトに参照として「Tridion.ContentManager.Publishing.dll」を追加していません。指示書アセンブリ参照を使用しているは、2つの非常に異なるものです。

  0

こんにちはPeter、私は既に私のアプリケーションにContentManager.dllを追加しました。 30 12月. 152015-12-30 11:48:49

  0

SaveEventArgsまたはCheckInEventArgsを使用しているとき、正常に動作していますが、PublishEventArgsを使用しているときにのみ問題が発生します。 30 12月. 152015-12-30 11:57:35

  0

PublishEventArgsはTridion.ContentManager.Publishing.dllにありますが、SaveEventArgsとCheckInEventArgsはTridion.ContentManager.dllにあります。 30 12月. 152015-12-30 14:37:41