SITECORE MANIA 技術ブログ

その他

渡部

渡部

フィールドタイプアイテムの作成方法

「Single-Line Text」や「Rich Text」といった既存フィールドタイプアイテムの他に、独自のフィールドタイプアイテムを作成する方法を紹介します。

フィールドタイプアイテムの作成

今回は例として、フィールドタイプアイテム「Markdown」を作成します。

  • データベース : core
  • パス : /sitecore/system/Field types/Simple Type

上記のデータベース/パスで、「Single-Line Text」アイテムを複製し、アイテム名と表示名を「Markdown」に変更します。

複製したアイテムの「コントロール」フィールドの値は「content:Text」となっています。このままだと一行での記述しかできません。

そのため、アイテムの「コントロール」フィールドの値を、「content:Memo」に変更することで複数行での記述ができるようにします。

テンプレートを作成

データベースをmasterに変更して、テンプレートを作成します。

シンプルタイプ内に、「Markdown」フィールドタイプアイテムが選択可能となっています。

 

「Markdown」フィールドタイプのフィールドを加えたテンプレートを作成すると、図のようになります。

Markdownフィールドの取得

例として作ったMarkdownフィールドの取得についても紹介します。

使用ライブラリ:Nugetでインストールします。

 Markdig.dll MarkdownをHTMLに変換するために使用するライブラリ

作成したMarkdownフィールドの値を取得し、その値をhtmlに変換しています。

この値をMvcHtmlString型に変換しViewにmodel等で値を渡すことで出力できます。

using Markdig;

namespace Sample.Controllers
{
  public ActionResult Markdown()
  {
    Item contextItem = Sitecore.Context.Item;
    var MarkdownFieldValue = contextItem.Fields["Markdown"].Value;
    var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
    var MarkdownHtml = Markdig.Markdown.ToHtml(MarkdownFieldValue, pipeline);
    var model = new Markdown Model
    {
        Markdown = new MvcHtmlString(MarkdownHtml)
    };
    return View("/Views/Sample/Markdown.cshtml", model);
  }

  public class MarkdownModel
  {
    public MvcHtmlString Markdown { get; set; }
  }
} 

 

表示例

このようにしてMarkdownの記法で書いたテキストを出力することができます。

最後に

今回は例として、「Markdown」フィールドタイプアイテムを作成しました。

同様の方法で、「Markdown」フィールドタイプアイテム以外にも、様々なフィールドタイプアイテムを
作成できます。

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

お問い合わせ・資料請求

LYZONにご相談下さい

ご依頼ご質問等まずは私達にお気軽にご相談下さい。

お電話でのお問い合わせ

03-5803-0587平日9:00~18:00