MVC とレンダリング

Current version: 10.1

Sitecore MVC は、ASP.NET WebForms とは異なるコントロール セットを使用しているため、すべての Sitecore のレンダリングをサポートしているわけではありません。

次の 2 種類のレンダリングがサポートされており、最もよく使われています。

  • 表示レンダリング

    このレンダリング タイプは Razor ビューです。Sitecore は、表示のために既定のコントローラーとモデルを提供します。mvc.getModel パイプラインを変更することで、モデルをカスタマイズできます。

    重要なビジネス ロジックやプレゼンテーション ロジックを必要としないアイテム コンテンツをレンダリングしたい場合に使用します。

  • コントローラー レンダリング

    このレンダリング タイプでは、コントローラー、モデル、表示を指定します。レンダリング定義アイテムでは、Sitecore がコンポーネントをレンダリングするときのアクションを指定します。

    外部データに依存するコンテンツや、重要なビジネス ロジックまたはプレゼンテーション ロジックを必要とするコンテンツをレンダリングする場合に使用します。

次のレンダリングは時々使用されます。

  • アイテム レンダリング

    このレンダリング タイプは、コンテンツ (アイテム) がそれ自体をレンダリングするように要求します。コンテンツは、レンダリング方法に関する情報を含んでいます。

以下のレンダリングは、レガシーな理由でサポートされています。

  • メソッド レンダリング

    このレンダリング タイプは、静的メソッドへの呼び出しの戻り値を出力します。

  • XSLT レンダリング

    Sitecore XSLT を Sitecore MVC ページ上でレンダリングする場合に使用します。このレンダリング タイプは、表示レンダリング タイプと似ていますが、Razor の代わりに XSLT をテンプレート エンジンとして使用しています。

    既存の Sitecore XSLT コンポーネントのライブラリがあり、それを書き換えたくない場合に使用します。

  • Url レンダリング

    このレンダリング タイプは、HTTP GET 要求の応答を現在のページにレンダリングします。

    他のシステムから HTML をスクリーン スクレイプする必要がある場合に使用できます。iframe の使用を避けるために使用することもできます。

注記

Sitecore MVC のレンダラー クラスは、WebControl からではなく、Renderer から継承します。

MVC ソリューションへのレイアウトとレンダリングの追加

MVC ソリューションに MVC レイアウトやレンダリングを追加するには、[Sitecore Rocks] から行う方法と、[コンテンツ エディター] から行う方法があります。

[Sitecore Rocks] から MVC レイアウトを追加するには、次の手順を実行します。

  1. Visual Studio の [ソリューション エクスプローラー] で ビュー フォルダーを右クリックし、[新しいアイテムの追加...] を選択します。

  2. Siteccore/MVC グループで、次のように [Sitecore ビュー レイアウト] を選択します。

    レイアウトの選択
  3. Sitecore Rocks で、対応する Sitecore 定義アイテムを作成する場所を確認するメッセージが表示されます。そのアイテムを Master database の レイアウト フォルダーに入れます。

    アイテムを作成する場所の選択

同じ方法で次のようにレンダリングを作成します。

  • [Sitecore ビュー レンダリング] を選択してビュー レンダリングを作成し、その定義アイテムを レンダリング に配置します。

  • [Sitecore コントローラー レンダリング] を選択してコントローラー レンダリングを作成し、その定義アイテムを レンダリング に配置します。

[Sitecore コンテンツ エディター] から MVC レイアウトを追加するには、次の手順に従います。

  1. コンテンツ ツリーの レイアウト フォルダーをクリックします。

    レイアウト フォルダーの選択
  2. [MVC レイアウト] をクリックして、定義アイテムを作成します。

    定義アイテムの作成
  3. 名前を入力して [次へ] をクリックします。アイテムを Sitecore のレイアウト フォルダーまたはレイアウトの下のサブフォルダーに配置します。

    アイテムを保存する場所の選択
  4. ファイル システムで必要なレイアウト (.aspx ファイルなど) を作成します。

  5. 作成したファイルへのパスを新規レイアウトの Data.Path フィールドに挿入します。

コンテンツ ツリーのレンダリング フォルダーをクリックして、前述のレンダリングを作成します。

レンダリングの作成

Do you have some feedback for us?

If you have suggestions for improving this article,