1. コンポーネントライブラリ

パイプライン

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Pipelineコンポーネントを使用して、JavaScriptのクライアント側パイプラインとプロセッサを設定します。SPEAKは、お客様の仕様に従ってプロセッサを初期化し、実行します。

クライアント側のパイプラインを使用して、Sitecoreのコア コードを変更せずに処理を追加します。

パイプラインは、SPEAKが特定の順序で実行される1つ以上のステップのセットです。各ステップは同じコンテキストを共有します。各ステップでは、コンテキストを変更し、すべてのステップが完了するまで (またはパイプラインが中止されるまで) 次のステップに渡すことができます。各ステップには、クライアント側とサーバー側の両方のロジックを含めることも、クライアント側のロジックのみを含めることもできます。

プロパティ

Name

Description

ロードモード

SPEAKがパイプラインをロードする方法を指定します。

  • Immediately: SPEAKは、他のコンポーネントをロードするのと同じ方法でパイプラインをロードします。すべてのプロセッサ ファイルをPipelineコンポーネントのinitializeメソッドで読み込みます。

  • Inline: SPEAKは、インライン スクリプトを使用して、ページを読み込むときにパイプラインを読み込みます。

  • WhenRun: SPEAKは、パイプラインの実行時にプロセッサ ファイルを読み込みます。

パイプライン引数

パイプラインのコンテキストを指定します。

パイプラインアイテムID

パイプラインの構成に使用するPipeline項目のIDを指定します。

TargetControlとTrigger

これら2つのプロパティを使用して、ページ上のコンポーネントによってトリガーされたイベントに基づいてパイプラインを実行します。

例えば; TargetControlButton1に、Triggerclickに指定します。SPEAKは、ユーザーがIDとしてButton1を持つボタンをクリックするとパイプラインを実行します。

パイプラインの構成

Pipelineコンポーネントは、次のように設定します。

  • Pipelineアイテム テンプレートに基づいて構成アイテムを作成し、PipelineコンポーネントのPipelineItemIdプロパティをこのPipelineアイテムにポイントします。パイプラインのNameを指定するだけで済みます。

  • 必要なプロセッサごとに、Pipeline項目の子項目としてPipelineProcessor項目テンプレートに基づいて項目を作成します。コンテンツ ツリー内のこれらの項目の順序は、SPEAKがプロセッサを実行する順序です。

  • PipelineProcessor項目ごとに、プロセッサのロジックを使用してJavaScriptファイルを作成します。PipelineProcessor項目のProcessorFileフィールドに対応するJavaScriptファイルへのパスを入力し、ProcessorNameフィールドにプロセッサの名前を入力します。

JavaScriptプロセッサ

プロセッサのロジックを実装するJavaScriptファイルは、常に "execute" メソッドを持つJavaScriptオブジェクトを返す必要があります。例えば:

define(["sitecore"], function(Sitecore) { return { priority: 1, execute: function(context) { //my code    }  }define(["sitecore"], function (Sitecore) {  return {    priority: 1,    execute: function (context) {        //my code    }  }

パイプラインを中止するには、executeメソッドに渡されたコンテキスト オブジェクトにtrueを割り当てます。

パイプラインの使用

SPEAKがパイプラインをロードするのに時間がかかる場合があります。したがって、SPEAKにはリッスンできるイベントが用意されており、このイベントはパイプラインの準備ができたことを通知します。 pipelinereadyイベントは次のように使用します。

this.MyPipeline.on("pipelineready", function(pipeline) { var context = { firstName: "John" };
    pipeline.execute(context); })this.MyPipeline.on("pipelineready", function (pipeline) {    var context = {        firstName: "John"    };    pipeline.execute( context );})
この記事を改善するための提案がある場合は、 お知らせください!