JSS for Angular APIリファレンス

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

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

JSS Angular SDKは、Sitecoreレイアウト サービスから返されたデータに基づいてコンポーネントとフィールドをレンダリングするのに役立つモジュール、コンポーネント、プレースホルダー、およびフィールド ヘルパー ディレクティブを提供します。

Angularモジュールへのコンポーネントの登録

SDK for Angularには、開発を支援するモジュール、コンポーネント、およびその他のユーティリティが付属しています。モジュールを作成するときに、JssModuleクラスが提供するwithComponentsメソッドを使用して、プレースホルダでレンダリングできるコンポーネントのリストにコンポーネントを追加できます。

import { JssModule } from '@sitecorelabs/sitecore-jss-angular';
import { WelcomeComponent } from './components/welcome/welcome.component';

@NgModule({
  ...
  declarations: [
    WelcomeComponent,
    ...
  ],
  imports: [
    JssModule.withComponents([
      { name: 'Welcome', type: WelcomeComponent }
    ])
  ],
  ...
})
export class FooModule { }
メモ

Angularサンプル アプリでは、JssModuleがインポートされ、規則に従って動的に生成され、コンポーネントはビルド時のディスク上の存在に基づいて登録されます。これにより、コンポーネント登録のメンテナンスが軽減されます。

プレースホルダーディレクティブ

JSS for Angularは、Layout Serviceによって返されるプレースホルダーをレンダリングするのに役立つコンポーネントを提供します。プレースホルダーコンポーネントは、レイアウトサービスデータで定義されたコンポーネントに基づいて、追加のAngularコンポーネントを動的にインスタンス化します。

基本的なプレースホルダー手法は、コンポーネントに挿入されたレンダリングデータを渡すことで構成されます。

<sc-placeholder name="jss-styleguide-layout" [rendering]="rendering"></sc-placeholder>

また、テンプレートを使用して各子コンポーネントの周囲で出力されるマークアップをカスタマイズするなど、高度な使い方も可能です。

<div class="row" sc-placeholder name="jss-reuse-example" [rendering]="rendering">
  <ng-template renderEach let-rendering="rendering">
    <div class="col-sm">
      <sc-render-component [rendering]="rendering"></sc-render-component>
    </div>
  </ng-template>
  <ng-template renderEmpty let-renderings="renderings">
    <div class="col-sm">
      <sc-placeholder [renderings]="renderings"></sc-placeholder>
    </div>
  </ng-template>
  <ng-template scPlaceholderLoading>
    <img src="loading.gif">
  </ng-template>
</div>

高度なプレースホルダー手法の詳細については、サンプル アプリのスタイル ガイドのレイアウトの再利用の例を参照してください。

フィールドヘルパーディレクティブ

ライブラリは、Sitecoreフィールド値を出力するのに役立つ構造ディレクティブを提供します。構造ディレクティブを使用する利点は、開発者として、タグのすべての機能が使用可能であり、別のコンポーネント内にラップされないことです。エクスペリエンス エディター内で実行すると、マークされたタグは、フィールドが編集可能な場合に編集用の別の要素に置き換えられます。

たとえば、画像の編集を有効にするには、次のようにします。

<img *scImage="rendering.fields.logoImage" />

以下は、サポートされているすべての構造ディレクティブとその使用方法のリストです。

手記

次の例では、フィールドがプレースホルダーコンポーネントからのデータであると仮定します。

テキスト

<p *scText="field; editable: true; encode: true"></p>

この構造ディレクティブは、次の入力プロパティをサポートします。

名前

形容

デフォルト/scText

レンダリングするコンポーネントまたはルートフィールド。通常、Sitecoreタイプは1行テキストまたは複数行テキストですが、数値タイプでも使用できます。

editable

エクスペリエンス エディター / Sitecore形式のHTML出力を使用するかどうかを示します。(デフォルト: true)

encode

出力値のHTMLエンコードを有効または無効にします。falseの値は、editable: falseも意味します。(デフォルト: true)

複数行テキストの場合、指定された編集可能な値には、改行がすでに<br />に置き換えられています。編集不可能な値を使用する場合は、field.value自分で処理してJSONの改行を目的のマークアップに置き換えるか、pre-wrapなどのCSS空白値を使用できます。

リッチテキスト

<div *scRichText="field; editable: true"></div>

この構造ディレクティブは、次の入力プロパティをサポートします。

名前

形容

デフォルト/scRichText

レンダリングするコンポーネントまたはルートフィールド。Sitecoreタイプは リッチ テキスト である必要があります。

editable

エクスペリエンス エディター / Sitecore形式のHTML出力を使用するかどうかを示します。(デフォルト: true)

画像

<img *scImage="field; editable: true" />

この構造ディレクティブは、次の入力プロパティをサポートします。

名前

形容

デフォルト/scImage

レンダリングするコンポーネントまたはルートフィールド。SitecoreタイプのImageである必要があります。

editable

エクスペリエンス エディター / Sitecore形式のHTML出力を使用するかどうかを示します。(デフォルト: true)

urlParams

画像のURLに追加されたクエリ文字列パラメーター。JSSはメディアURLのセキュリティ ハッシュをサポートしていないため、これらのパラメーター セットをサーバー上でホワイトリストに登録する必要があることに注意してください。

attrs

結果の画像タグのキー / 値属性値。host要素に追加された属性もパススルーされますが、データ バインディングはサポートされないことに注意してください。

*scImageディレクティブは、attrs入力プロパティを介してsrcSet属性が指定されている場合、特別な扱いを提供します。srcSetの各要素のクエリ文字列パラメータを表すオブジェクトの配列を指定できます。これにより、sizes属性と組み合わせると、サーバー側レンダリングによるレスポンシブ画像が可能になります。

リンク

<a *scLink="field; editable: true"></a>

この構造ディレクティブは、次の入力プロパティをサポートします。

名前

形容

デフォルト/scLink

レンダリングするコンポーネントまたはルートフィールド。Sitecoreタイプは 一般リンク である必要があります。

editable

エクスペリエンス エディター / Sitecore形式のHTML出力を使用するかどうかを示します。(デフォルト: true)

attrs

結果の出力タグのキー/値属性値。host要素に追加された属性もパススルーされますが、データ バインディングはサポートされないことに注意してください。

Sitecoreからの編集可能な出力を使用する場合、scLinkはSitecoreが提供するマークアップの周囲にラッパー スパンを作成し、このスパンにホスト要素の属性と属性を適用します。

ファイル

<a *scFile="field"></a>

この構造ディレクティブは、次の入力プロパティをサポートします。

名前

形容

デフォルト/scFile

レンダリングするコンポーネントまたはルートフィールド。Sitecoreタイプの ファイル である必要があります。

ファイル フィールドは、Sitecoreのエクスペリエンス エディターによるインライン編集をサポートしていませんが、コンポーネントのデフォルトのフィールド エディターで編集できます。

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