1. JSSフォームAPI

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

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

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

このチュートリアルでは、JSSアプリケーションでSitecoreフォームを使用する方法を説明し、Sitecoreフォーム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アプリにフォームを実装するには、次のいずれかの方法に従います。

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