ウォークスルー

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

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

フォーム内のフィールド値がプリ入力され、ユーザーの時間を節約し、一貫性を向上させます。このウォークスルーは フォームのプリ入力ウォークスルーシリーズ の第3部であり、名前とメールアドレスのフィールドをプリフィルするバリュープロバイダーの実装方法を説明します。

このウォークスルーでは、以下の方法を説明します:

  • プロバイダークラスを作成する
  • 提供者アイテムを作成する
  • フォームを作成する
  • リダイレクトリンクを追加してください
  • 事前に記入済みのフォームの結果を確認してください

プロバイダークラスを作成する

価値提供者を作成する際には、IFieldValueProviderインターフェースから継承するクラスを作成しなければなりません。

プロバイダークラスを作成するには:

  1. Visual Studioプロジェクトでフォルダを作成し、ValueProvidersと名付けてください。

  2. ValueProvidersフォルダでUserProfileFieldValueProviderクラスを作成し、IFieldValueProviderクラスから継承します。

  3. GetValueメソッドを実装して任意の型のオブジェクトを返します。このオブジェクトはInputViewModel実装で適切な型にキャストされます。

    UserProfileFieldValueProviderクラスのパラメータはプレーンな文字列として格納されます。例えば、メールフルネーム、または使いたい他のユーザープロファイルプロパティキーなどです。

    パラメータの他のデータをJSONやXMLとして保存し、そのデータを値提供者の実装で解析することができます。

    public class UserProfileFieldValueProvider : IFieldValueProvider { public User User => Context.User;

    public FieldValueProviderContext ValueProviderContext { get; set; }

    public object GetValue(string parameters) { if (User == null || !User.IsAuthenticated) { return string.Empty; }

    switch (parameters) { case "name": case "username": return User.Name; case "email": return User.Profile.Email; case "fullname": return User.Profile.FullName; default: return User.Profileparameters ?? string.Empty; } } }

提供者アイテムを作成する

提供者項目を作成するには:

  1. /sitecore/system/Settings/Formsにアクセスし、「値提供者」を右クリックし、「挿入」をクリックし、「テンプレートから挿入」をクリックしてください。
  2. /sitecore/templates/System/Forms/Value Providerテンプレートをクリックしてください。
  3. アイテム名欄で名前を入力し、「挿入」をクリックします。
  4. 作成したアイテムにアクセスし、 設定 セクションの Model Type フィールドで値をクラスタイプ名に設定します。例えば、ValueProviderSample.FieldValueProviders.UserProfileFieldValueProvider.
  5. アイテムを保存してください。

フォームを作成する

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

  1. フォームダッシュボードで「 作成 」をクリックし、「 空白フォーム」をクリックします。
  2. フォーム要素ペインで、メール要素をページにドラッグします。ラベル欄でEmailを入力します。
  3. 単行テキスト要素をページにドラッグします。ラベル欄でFullnameを入力します。
  4. メール 欄をクリックしフォーム要素パネルの詳細設定 セクションの価値プロバイダー欄で、先ほど作成したプロバイダーを選択してください。
  5. Value provider パラメータ欄にfullnameを入力してください。
  6. メール 欄をクリックしフォーム要素パネルの詳細設定 セクションの価値プロバイダー欄で、先ほど作成したプロバイダーを選択してください。
  7. Valueプロバイダーパラメータ欄にメールアドレスを入力してください。
  8. フォームを保存して、 User Profile Formと名付けてください。
  9. ユーザープロフィールフォームをウェブページに追加し、 User Profile Pageと名付けてください。
  10. 前回のウォークスルーで作成したログアウトフォームをこのユーザープロフィールページに追加してください。

リダイレクトリンクを追加してください

リダイレクトリンクを追加すると:

  1. ログインフォームに「ページへのリダイレクト」送信アクションを追加してください。リダイレクトページとして「 ユーザープロフィールウェブページ 」をクリックしてください。
  2. 登録フォームで、登録が成功した後、ページをログインウェブページへリダイレクトしてください。
  3. ログアウトフォームで、ログアウトが成功したらログインウェブページにリダイレクトしてください。

事前に記入済みのフォームの結果を確認してください

事前に記入済みのフォーム結果を確認するには:

  1. 登録 」ダイアログボックスでユーザーを登録します。次にログインページで、ユーザーのメールアドレスとパスワードを使ってログインします。

  2. ログイン成功後、ユーザープロフィールページにこのユーザーのフルネームとメールアドレスが表示されます。ユーザープロファイルページからログアウトするには、ログ アウトをクリックしてください。ログインしていないユーザーの場合、ユーザープロファイルページは空欄のままです。

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