NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

Sitecore6.6でASP.NET MVC開発

シアトルの桜

こんにちは。aokiです。

これはSitecore Advent Calenderの12/09日分の記事となります。素敵なカレンダーを立ち上げて頂いた原水さんに感謝いたします。

※前の記事と同じようにちょっとした写真をつけてみました。これはシアトルの桜(2007年春)です。とても素敵でした。

この記事ではSitecore6.6で新しく使えるようになった、ASP.NET MVCとのインテグレーションについて紹介します。

ASP.NET MVCとは

ASP.NET MVCは、ASP.NETでMVC機能を用いて開発できるアーキテクチャです。ポストバック主体であったWebFormとは異なり、ControllerとModelを用いてRubyOnRails的な開発を行える点が特徴です。またViewを選択することができます。最近はRazorと呼ばれるPHPライクな埋め込み型言語のViewがメインとなりつつあります。

MVCを使うための設定

  1. Sitecore6.6をセットアップ
  2. アプリケーションプールの .NET Frameworkバージョンを4.0に設定
  3. web.config.MVCを設定して、Web.configにリネーム(もともとのWeb.configは別の名前に)
  4. \App_config\Include\Sitecore.MVC.config.disabledから.disabledを消した名前に変更(他も同様)
  5. Website\bin_Net4フォルダの中身をWebsite\binフォルダにコピー

これで、ASP.NET MVCが動作するSitecoreが立ち上がりました。

f:id:nextscape_blog:20210908232928p:plain

なお.NET4.0やASP.NET MVC3を事前にインストールしておく必要があります。

 

MVCのレイアウトで動かしてみる

設定したら実際にMVCで動いているか確認してみます。

手順としては、Website\Viewsというフォルダを作り、そこに拡張子がcshtmlのファイルを作成します。例えば「MvcLayout.cshtml」というファイルを作成します。そして適当にHTML(Razor記法)で記載します。

f:id:nextscape_blog:20210908233007p:plain

最後にレイアウトの設定をaspxから、cshtmlに変更します。これで最初の設定は完了です。
http://localhost/のようにアクセスすれば、ASP.NET
MVCが動作することがわかります。

MVCレンダリングファイルの作成

次に、レイアウトの部品にあたるパーツを設定してみます。Viewの表示には、MVCレンダリングを使用します。MVCレンダリングでは従来通りSitecoreプレースホルダーを使用することができます。

レンダリング用のファイルをViewsフォルダに作成します。
  1. Sample View.cshtml
  2. Sample Inner View.cshtml
  3. Sample View Rendering.cshtml

これはインストール直後に用意されいてるサンプルファイル(Sample Inner Sublayout.ascx等)に呼応するMVC版ファイルとなります。

次にレイアウトファイルと各ファイルの中身を更新します。

f:id:nextscape_blog:20210908233046p:plain 

f:id:nextscape_blog:20210908233116p:plain

f:id:nextscape_blog:20210908233137p:plain

f:id:nextscape_blog:20210908233235p:plain

MVCレンダリングの設定

MVC用のファイルを作成したら、レンダリング設定を行います。

f:id:nextscape_blog:20210908233344p:plain

レンダリングから「ビューレンダリング」の挿入を選びます。

f:id:nextscape_blog:20210908233407p:plain

そして、Pathにcshtmlファイルを設定し、プレースホルダーを設定します。

f:id:nextscape_blog:20210908233424p:plain

ホームアイテムを選択し、プレゼンテーションの詳細から先ほど追加したレンダリングを選択します。

動作確認

すべて保存したらパブリッシュして、再びトップページにアクセスします。

f:id:nextscape_blog:20210908233455p:plain

最初と同様にトップページが表示されました。しかしこの表示はASP.NET MVCを用いて表示されているわけです。

最後に

ASP.NET MVCはjQueryとの相性も良く、BtoC向けなため最近注目を集めています。Sitecore にとっては最初のバージョンとなるため、これから洗練させてくる機能(今はサポートされていないものがある)と思いますが、今後に期待したいですね。

参考