1. ビュータイプ

タグヘルパー

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

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

!重要以前にアプリを統合していた場合、それは旧版のASP.NETコアレンダリングSDK(バージョン22以前)を使用しています。このSDKは更新を受け取っていないため、最新のバージョンへのアップグレード をお勧めします。

ASP.NETでは、タグヘルパーがサーバーサイドのコードがRazorファイル内のHTML要素の作成およびレンダリングに参加できるようにします。タグヘルパーに関する詳細はMicrosoftタグヘルパーのドキュメントでご覧いただけます。

Sitecore ASP.NETレンダリングSDKは、コンテンツのレンダリング、プレースホルダーデータ、ページ編集に必要なメタデータをレンダリングするための複数のカスタムタグヘルパーを提供します。

以下のタグヘルパーはSitecore.AspNet.RenderingEngineライブラリで利用可能です:

  • プレースホルダータグヘルパー
  • テキストフィールドタグヘルパー
  • リッチテキストフィールドタグヘルパー
  • ハイパーリンクタグヘルパー
  • 日付タグヘルパー
  • 画像タグヘルパー
  • ナンバータグヘルパー

!注要素内容を作成または修正するASP.NETタグヘルパーでは、明示的なクロージングタグを使用しなければなりません。タグが自己閉じている場合、タグヘルパーが要素コンテンツ(この場合はフィールド値)を挿入する場所はありません。

Sitecoreタグヘルパーがレンダリングホストアプリケーションで利用可能であることを保証するには、\Views\_ViewImports.cshtmlRazorビューでタグヘルパーを含むライブラリの名前空間をインポートする必要があります:  

@addTagHelper *, Sitecore.AspNet.RenderingEngine

プレースホルダータグヘルパー

プレースホルダータグヘルパーは、Sitecoreのプレースホルダーで定義されたコンポーネントをレンダリングできます。デフォルトでは、タグヘルパーは複数のネストされたプレースホルダーのレンダリングもサポートしています。

ページが編集モードにあるとき、タグヘルパーはコンポーネントに加えて編集用のクロームもレンダリングします。

このタグヘルパーを使うには、単独タグとして追加します:

name属性が必要であり、その値は現在のコンポーネントに対してレイアウトサービスから返されるプレースホルダーの名前と一致しなければなりません。nameが無効またはマッチしていない場合、タグヘルパーはHTMLコメントを使ってページ上に警告を表示します。

!注プレースホルダータグヘルパーは、レイアウトサービスの出力に基づいてコンポーネントをレンダリングするエントリーポイントです。通常、UseSitecoreRenderingでタグ付けされたコントローラーアクションで返されるビュー内に、このタグヘルパーのインスタンスが1つ以上見つかります。

テキストフィールドタグヘルパー

テキストフィールドタグヘルパーは、ページが編集モードにあるときに、単行および多行テキストフィールドの内容をレンダリング・編集できます。

このタグヘルパーを使うには、HTML要素のasp-for属性にTextFieldプロパティの名前を追加します:

@model MyComponentModel

HTML Breakタグへの改行文字の翻訳を無効にするには、convert-new-lines属性を追加し、false:

@model MyComponentModel

テキストフィールドの編集を無効にするには、editable属性(デフォルトでtrue)を追加します:

@model MyComponentModel

リッチテキストフィールドタグヘルパー

リッチテキストフィールドタグヘルパーは、ページが編集モードにあるときにSitecoreのリッチテキストフィールドの内容をレンダリング・編集できます。

このタグヘルパーは2つの方法で使えます:

  • 単独タグとして追加してください:

    @model MyComponentModel

    これは、リッチテキストフィールドSitecore独自のルート

    タグを持ち、この方法はDOMに新しい要素を導入しないため、しばしば好まれます。

  • HTML要素のasp-for属性にRichFieldプロパティの名前を追加します:

    @model MyComponentModel

リッチテキストフィールドの編集を無効にするには、editable属性(デフォルトでtrue)を追加してください:

@model MyComponentModel

ハイパーリンクタグヘルパー

ハイパーリンクタグヘルパーは、ページが編集モードにある際にSitecoreの一般的なリンクフィールドの内容をレンダリング・編集できます。

このタグヘルパーは2つの方法で使えます:

  • 単独タグとして追加してください:

    @model MyComponent

    !注コンテンツ作成者にリンクテキストの設定をさせたくない場合は、静的リンクテキストを追加できます:

    @model MyComponentこれは私の カスタム テキストです

  • そのa HTML要素のasp-for属性にHyperLinkFieldプロパティ名を追加します:

    @model MyComponentModel It is my link!

href属性のほかに、タグヘルパーは(フィールドプロパティに記載されている場合)以下の属性をレンダリングします。

これらの属性を上書きしたり、追加したりすることができます:

@model MyComponent Link to Sitecore

ハイパーリンクフィールドの編集を無効にするには、editable属性(デフォルトでtrue)を追加してください:

@model MyComponentModel

!注エクスペリエンスエディターでレンダリングした場合、カスタムコンテンツを持つリンクタグヘルパーはそのコンテンツをレンダリングしません。これはWYSIWYG編集を可能にするためです。このような場合は、editable=”false”を設定してフィールドエディターを使用することを検討してください。

Dateタグヘルパーは、ページが編集モードにあるときにSitecoreの日付フィールドの内容をレンダリング・編集できます。

このタグヘルパーは2つの方法で使えます:

日付のフォーマットはdate-format属性で、文化はculture属性で指定できます。 date-format属性が指定されていない場合、タグヘルパーはローカルフォーマットを表示します。 culture属性が指定されていない場合は、タグヘルパーは現在のカルチャーフォーマットを表示します。

@model MyComponent

!注日付タグヘルパーは標準的な.NETの日付と時間フォーマットの文字列をサポートしています。

画像フィールドタグヘルパー

画像フィールドタグヘルパーは、ページが編集モードにあるときにSitecoreの画像フィールドの内容をレンダリング・編集できます。

このタグヘルパーは2つの方法で使えます:

  • 単独タグとして追加してください:

    @model MyComponentModel

  • そのimg HTML要素のasp-for属性にImageFieldプロパティ名を追加します:

    @model MyComponentModel

画像フィールドの編集を無効にするには、editable属性(デフォルトでtrue)を追加してください:

@model MyComponentModel

サーバー側で画像のサイズ変更を行うために、画像タグヘルパーに追加のパラメータを渡すことができます:

@model MyComponentModel

この属性に与えられたすべてのパラメータは、画像URLに次のように追加されます:http:///-/jssmedia//data/media/img/sc_logo.png?iar=0&hash=F313AD90AE547CAB09277E42509E289B&mw=100&mh=50

タグヘルパーの外でリサイズパラメータ付きの画像フィールドをレンダリングしたい場合は、ImageField.: のGetMediaLink拡張を使用できます。

style="background-image: url(@Model.Banner?.GetMediaLink(new {mw = 1170, mh = 402}))"

!重要image-params属性やGetMediaLinkに入力するすべてのパラメータは、リサイズが行われるためにホワイトリスト化されている必要があります。

以下は構成パッチの例です:

MW=42,MH=42

ナンバータグヘルパー

Numberタグヘルパーは、ページが編集モード中にあるときにSitecoreの数字フィールドの内容をレンダリング・編集できます。

このタグヘルパーは2つの方法で使えます:

  • タグヘルパーをスタンドアロンタグとして追加してください:

    @model MyComponent

  • HTML要素のasp-for属性にNumberプロパティの名前を追加します:

    @model MyComponent

番号のフォーマットはnumber-format属性とculture属性で指定できます。 culture属性が指定されていない場合、タグヘルパーは現在の文化フォーマットを表示します。

@model MyComponent

!注ナンバータグヘルパーは 標準的な.NET数値フォーマット文字列をサポートしています。

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