1. JSSフォームAPI

チュートリアル: JSSアプリケーションでのSitecoreフォームの使用

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

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

このチュートリアルでは、JSSアプリケーションでSitecore Formsを使用する方法と、Sitecore Forms APIを利用したフォームをReactとNext.jsで実装する例を紹介します。

メモ

JSSには、Forms APIを使用するReactの例が付属しています。フォームスキーマデータを他のフレームワークと一緒に使用することは可能ですが、サンプルコンポーネントは提供されていません。

このウォークスルーは、JSSの基礎に精通しており、ReactまたはNext.js JSSアプリをセットアップしてSitecoreにデプロイしていることを前提としています。

このチュートリアルでは、次の方法について説明します。

  • Sitecoreでフォームを作成します。

  • JSSアプリケーション用のフォームレンダリングコンポーネントを作成します。

  • フォーム レンダリングをアプリ ルートに追加します。

  • JSSアプリケーションにフォームを実装します。

Sitecoreでフォームを作成する

JSSでフォームを使用するには、フォームをSitecoreで作成する必要があります。

フォームを作成するには:

  1. SitecoreのFormsダッシュボードで、Createをクリックします。

  2. 新しいフォームを最初から作成するには、「 Blank form」をクリックするか、フォームの基になるテンプレートを選択します。

  3. フォームに 送信 ボタンを追加するには、Form elementsペインのStructureセクションで、Submitボタン要素をフォーム キャンバスにドラッグします。

  4. フォームデータを保存し、フォームが自動的にクリアされないようにするには、送信アクションをSave DataRedirect to pageに設定します。

    手記

    JSSアプリでは、送信後にアプリケーションを別のページにリダイレクトすることは、クライアント側のルーティングで簡単に実現でき、ページを実際に再読み込みする必要はありません。

JSSアプリケーション用のフォームレンダリングコンポーネントの作成

JSSアプリケーションにフォームを追加するには、フォームをレンダリングするコンポーネントが必要です。フォーム レンダリング コンポーネントは通常のJSSコンポーネントですが、切断モードはフォームでサポートされていないため、最初にSitecoreで作成する必要があります。

フォームレンダリングコンポーネントを作成するには:

  1. JSS CLIを使用してSitecoreでコンポーネント定義を作成します ( jss deploy component Form --allowedPlaceholders jss-main)。

  2. 許可されたプレースホルダーを、フォームの追加を許可するプレースホルダー名に変更します。

  3. Sitecoreコンテンツ エディターで、作成されたレンダリング アイテム (/sitecore/layout/Renderings/Project/$yourappname/Form) に移動します

  4. Datasource locationフィールドを /sitecore/formsに設定します。

  5. Datasource templateフィールドを /sitecore/templates/System/Forms/Formに設定します。

  6. Rendering Contents ResolverフィールドをSitecore Forms Resolverに設定します。これにより、JSSはアイテムデータではなくフォームデータをコンポーネントに配信します。

フォーム レンダリングをアプリ ルートに追加する

フォーム レンダリングをアプリ ルートに追加するには:

  1. エクスペリエンス エディターで、フォームを追加するJSSルート アイテムに移動します。

  2. 新しいFormコンポーネントを、許可されているプレースホルダーに挿入します。

  3. 以前に作成したSitecoreフォームを関連コンテンツとして選択します。

    手記

    コンポーネントに実装がないことを示す警告が表示されます。これは、フォームの外観をまだ定義していないためです。

JSSアプリケーションにフォームを実装する

JSSアプリケーションでのフォームの実装は、アプリケーションの作成に使用したフレームワークSDKによって異なります。

JSSアプリにフォームを実装するには、次のいずれかの方法に従います。

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