1. MVC

MVCとレンダリング

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

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

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

以下2つの対応レンダリング方式が最も一般的に使われています:

  • 表示表示

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

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

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

    このレンダリングタイプについては、コントローラー、モデル、ビューを指定します。レンダリング定義項目で、Sitecoreがコンポーネントをレンダリングする際のアクションを指定します。

    外部データに依存するコンテンツや、ビジネスやプレゼンテーションのロジックが大きく必要なコンテンツのレンダリングに使うことができます。

このレンダリングは時折使われます:

  • アイテムレンダリング

    このレンダリングタイプは、コンテンツ(アイテム)が自分自身でレンダリングされることを求めます。コンテンツはレンダリングの仕方に関する情報を持っています。

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

  • メソッドレンダリング

    このレンダリング型は静的メソッドへの呼び出しの返り値を出力します。

  • XSLTレンダリング

    これを使ってSitecore MVCページSitecore XSLTをレンダリングします。このレンダリングタイプはView Renderingタイプに似ていますが、テンプレートエンジンとしてXSLTを使Razorしています。

    既存のSitecore XSLTコンポーネントのライブラリを持っていて書き直したくない場合は、これを使いましょう。

  • URLレンダリング

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

    他のシステムからHTMLをスクリーンスクレイピングする必要がある場合に使えます。時にはiframeの使用を避けるために使えます。

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

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

MVCのレイアウトやレンダリングは、Sitecore Rocksから、または コンテンツエディターから2つの方法でMVCソリューションに追加できます。

Sitecore RocksからMVCレイアウトを追加するには:

  1. Visual StudioのSolution Explorer****内のViewsフォルダを右クリックし、「追加、新しいアイテム...」を選択してください。

  2. Siteccore/MVCグループでSitecore View Layoutを選択してください:

    Select a layout
  3. Sitecore Rocksは対応するSitecore定義項目をどこで作成するかを尋ねます。その項目をマスターデータベースのLayoutsフォルダに入れてください:

    Select where to create item

レンダリングの作成も同じ方法で行います:

  • Sitecore View Renderingを選択してView Renderingを作成し、定義項目をRenderingsに入力してください。
  • Sitecore Controller Renderingを選択してController Renderingを作成し、定義項目をRenderingsに入力します。

Sitecore Content EditorからMVCレイアウトを追加するには:

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

    Select the Layout folder
  2. 定義項目を作成するには「MVCレイアウト」をクリックしてください:

    Create defition item
  3. 名前を入力して「次へ」をクリックします。アイテムをSitecoreのLayoutsフォルダ、またはLayoutsのサブフォルダに置いてください:

    Select where to save item
  4. ファイルシステム内で必要なレイアウト(例えば .aspx ファイル)を作成します。

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

コンテンツツリー内のRenderingsフォルダをクリックして、記載されたレンダリングのいずれかを作成します:

Create rendering
この記事を改善するための提案がある場合は、 お知らせください!