2020-05-11

マーケットプレイス的なサイトを作ってみる:会員登録、会員情報編集など #craftcms

マーケットプレイス的なサイトだと一般のユーザーがまず登録する必要がある。
Craft CMS では一般ユーザーに登録してもらうようなのは問題なくできる。ただライセンスは Pro が必要になる。
Soloでそういうサイトを作ることはないと思うが。。。

登録したユーザーを追加するユーザーグループをあらかじめ作っておく必要がある。
そのあとはそのユーザーグループに対して必要な権限を追加する。

今回だと商品や購入状況のセクションを使っていくことになるので、それらのエントリを作ったり編集できる権限が必要になる。

この辺の設定をしておく必要がある。

User Registration Form | Craft 3 Documentation
https://docs.craftcms.com/v3/d...
ユーザー登録フォーム | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

↑キャプチャに 「Suspend users by default」のチェックが入ってなかったけど、これも必要なはず。

フォームの部分も先ほどのドキュメントを参考に書くことで問題なく動くようになる。

姓名の入力欄とかも会員登録時に入れるならこんな感じで firstName lastName も用意しておく。

<div class="form-group">
  <div class="form-inline">
    <div class="form-group">
      <label for="lastName" class="col-form-label">姓</label>
      <input type="text" id="lastName" name="lastName" value="" class="form-control mx-2">
      <label for="firstName" class="col-form-label ml-3">名</label>
      <input type="text" id="firstName" name="firstName" value="" class="form-control mx-2">
    </div>
  </div>
</div>

例えば、プロフィール用のフィールド( userProfile )を追加した場合は

<div class="form-group">
<label for="userProfile" class="col-form-label">userProfile</label>
<textarea id="userProfile" name="fields[userProfile]" class="form-control mx-2"></textarea>
</div>

のような感じでフィールドを追加しておく。

会員情報の編集

会員情報の編集については先日書いた

これらのドキュメントを参考にしてフォームを作ればよい。

ユーザーの情報を編集する必要があるので、

{{ hiddenInput('userId', currentUser.id) }}

を追加しておく必要がある。

パスワード忘れ、パスワード再設定

パスワード忘れ、パスワード再設定とかも必要になるが

を参考に用意しておけば問題なく作れる。


簡単に会員サイトを作れるなぁという印象。