新規ユーザ登録でグループ追加と属性設定を自動的に行いたい

いつもお世話になっております。

「来訪者が自由に新規登録できる=ON」の設定において、
新規登録の際、特定のグループへ自動的に属し、さらに、あるユーザ属性の値を自動的に設定するようにしたいです。

新規ユーザ登録は、
/concrete/controllers/single_pages/register.php
辺りかと考えていたのですが、実際どこへどのようなプログラムを追加すればよいか?悩んでおります。

フォーラム( https://forums.concretecms.org/t/adding-a-user-programmatically/92 )の記事でそれらしいものを見つけたのですが、
新規登録用に実装の仕方がわかりません・・。

過去のフォーラム情報でも結構ですのでヒント等いただければ幸いと存じます。

concrete5 Version

Core Version - 8.5.9

PHP Version

7.4.30

@cc5take3 お疲れ様です。やっとフォーラム投稿追いつきました。

新規登録の際、特定のグループへ自動的に属し、さらに、あるユーザ属性の値を自動的に設定するようにしたいです。

新規ユーザ登録は、
/concrete/controllers/single_pages/register.php
辺りかと考えていたのですが、実際どこへどのようなプログラムを追加すればよいか?悩んでおります。

はい。まず、グループの追加ですが、すべて一般登録するユーザーが特定のグループに固定で登録するのであれば、コアのグループの設定で可能です。

グループの設定画面に、ユーザー登録時に所属するオプションが付いています。

ユーザー登録時の条件によって所属するグループを変えたい場合や、
ユーザー属性の値を自動的に付与させたい場合はカスタマイズが必要です。

あと、ユーザー登録といっても、2つのステップがあります。

ユーザーが登録 (register) された時と、
ユーザーが確認 (validate) された時です。
ユーザー情報が DB 上で作成された時に処理を走らせるか、
メールアドレス確認などをした (validate) したあとに処理を走らせる必要がありますか?

Concrete CMS には、イベントを hook できる機能があります。

ここの User にある on_user_add (ユーザーがDB上で追加された)。 on_user_validate (ユーザー情報が確認された) イベントでプログラムを走らせることが可能です。

イベントの組み込みは、application/bootstrap/app.php の中か、 package の controller.php の on_start() の中で走らせることができます。

ドキュメントはこちらに書かれています。

よろしくお願いします。