SITECORE MANIA 開発者向け技術ブログ

その他

LYZON編集部

LYZON編集部

Synthesisモデルの生成方法

1. Synthesisとは

Sitecore 8.1以上のバージョンで使えるオブジェクトマッピングフレームワークです。

Synthesisの機能の一つであるテンプレートオブジェクトジェネレータを使うと、Sitecoreのテンプレートモデルが自動生成されます。

生成したモデルでフィールドの値の取得やIndex Searchなどができます。

今回はそのSynthesisを用いたモデルの生成方法について説明します。


「 詳細はこちらを参照 」

Synthesis と GlassMapper の比較

Synthesis と GlassMapper のパフォーマンステスト結果


2. NuGetからSynthesisをインストールします。

この記事は、Synthesisバージョン9.1.0.2に基づいています。


3. Synthesis設定ファイルを修正します。

「パス:(プロジェクト名)\App_Config\Include\Synthesis」


1) Synthesis.config

※生成されるSynthesisモデルを「SynthesisTestApp\Models\SynthesisModel」に格納します。

<ItemNamespace>SynthesisTestApp.Models.SynthesisModel</ItemNamespace>

<InterfaceNamespace>SynthesisTestApp.Models.SynthesisModel</InterfaceNamespace>


※モデルファイルの名前を設定します。

<ModelOutputPath>SynthesisModel.cs</ModelOutputPath>


2) Synthesis.LocalConfig.config.example

<ItemNamespace>SynthesisTestApp.Models.SynthesisModel</ItemNamespace>

<InterfaceNamespace>SynthesisTestApp.Models.SynthesisModel</InterfaceNamespace>

<ModelOutputPath>SynthesisModel.cs</ModelOutputPath>


※ユーザー定義フォルダ以下のテンプレートのモデルを生成します。

<includedPaths hint="list:AddTemplatePath">

<sites>/sitecore/templates/Project</sites>

</includedPaths>


※生成したモデルファイルを下記のパスに保存します。

<setting name="Synthesis.ModelOutputBasePath" value="IISフォルダ\synthesisTestApp.sc\App_Data\Synthesis\" />


4. サーバーに発行します。


5. 下記パスにある設定ファイルの名前を変更します。

「パス:IISフォルダ\synthesisTestApp.sc\App_Config\Include\Synthesis」

・Synthesis.LocalConfig.config.exampleの「.example」を除去

・Synthesis.ControlPanel.IdentityServer.config.disabledの「.disabled」を除去


6. IISのWeb.configのDebug設定を「true」に変更にします。

「パス:IISフォルダ\synthesisTestApp.sc\Web.config」

<compilation defaultLanguage="c#" debug="true" >


7. CMSのテスト用のTemplateを作成します。

CMS上の「/sitecore/templates/User Defined」に「SynthesisTemplate」という名前のテンプレートを作成します。

ファイルは下記のように追加します。

・ファイル名:Title タイプ:Single-Line Text

・ファイル名:Link Url タイプ:General Link


8. Synthesisコントロールパネルに接続します。

ブラウザのアドレスバーに「アプリケーションホスト名/synthesis.aspx」を入力すると管理画面が出ます。

そして下記の画面から「Regenerate Now」ボタンをクリックしてSynthesisモデルファイルを生成します。


9. 上記2で設定したパスにSyntehsisモデルが生成されていれば完了です。

モデルファイルをコピーして、上記2で指定した名前空間パス(ItemNamespace)に貼り付ければSyntehsisが使えます。

ここではプロジェクトの「SynthesisTestApp/Models/SynthesisModel」のフォルダ中に配置します。



< 参考サイト >

Synthesis GitHub



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス