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

その他

西野宮

西野宮

エクスペリエンスエディタで編集をおこなえるようにする方法

  今回はSitecoreのアイテムのフィールドエクスペリエンスエディタ上で編集できるようにする方法をご紹介いたします。

編集が可能になるフィールドの取得方法

・controllerでの取得処理

var title = new MvcHtmlString(FieldRenderer.Render(contextItem, "編集したいフィールド名"))  
 

FieldRenderer.Renderを利用してフィールドを取得しMvcHtmlString型として表示をおこなうとエクスペリエンスエディタ上での編集が可能となります。

ポイント

  • 自身で作成したコードをエクスペリエンスエディタ上で編集可能にするためには、FieldRenderer.Renderを利用することで対応した形式で出力が可能となります。
  • 取得したフィールドをMvcHtmlString型にすることで、エクスペリエンスエディタはHTMLタグやスクリプトを正しく解釈し、編集可能な状態にすることができます。
 

編集ができない場合の取得方法

・FieldRenderer.Renderを使用していない場合 
vartitle=contextItem.FIelds["編集したいフィールド名"].Value;

FieldRenderer.Renderを使用していないと、上の画像のようにエクスペリエンスエディタ上でのフィールドの選択ができなくなります。

 

・FieldRenderer.Renderを使用しているが、string型で表示している場合 

stringtitle=FieldRenderer.Render(contextItem,"編集したいフィールド名");

 

この場合エクスペリエンスエディタ上でタイトルのフィールドにHTMLが直接出てしまい、編集ができなくなってしまいます。

 

エクスペリエンスエディタ対応できている時とできていない時の出力されるHTMLのコード違い

・対応できている場合のHTML

 

・対応できていない場合のHTML

フィールドをエクスペリエンスエディタに対応した形で取得するとHTMLもエクスペリエンスエディタに対応したものになり、そうでない方法で取得をおこなうとシンプルなHTMLのままとなります。

 

まとめ

FieldRenderer.Renderを使用してフィールドを取得し、MvcHtmlString型として表示をおこなうとエクスペリエンスエディタ上でフィールドの編集が可能となります。

 
このようにエクスペリエンスエディタ上でフィールドを選択し、入力ができるようになっていれば編集が可能になっています。

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

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

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

Sitecoreの運用問題を解決する

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