ユーザーをグループに入れる方法について、良いモジュールがあるかどうか疑問に思っています。
基本的には10人追加ごとに、番号が振られたグループに追加していただきたいです。また、各グループに 1 人のファシリテーターが割り当てられ、複数のグループに割り当てられる場合があります。また、自由にグループに人を追加/削除し、グループ間でメンバーを交換する必要があります。
助言がありますか?
ユーザーをグループに入れる方法について、良いモジュールがあるかどうか疑問に思っています。
基本的には10人追加ごとに、番号が振られたグループに追加していただきたいです。また、各グループに 1 人のファシリテーターが割り当てられ、複数のグループに割り当てられる場合があります。また、自由にグループに人を追加/削除し、グループ間でメンバーを交換する必要があります。
助言がありますか?
「User Groups」という名前の語彙を作成します。admin/config/people/accounts/fields に移動し、ユーザーの分類用語フィールドを追加します。
<?php
function mymodule_user_presave(&$edit, $account, $category) {
$termname = int($account->uid / 10);
if(!empty(taxonomy_get_term_by_name(termname)){
$newterm = new stdClass();
$newterm->name = $termname;
$newterm->vid = 5; the vid of the vocabulary 'User group which you should create manually'
taxonomy_term_save(($newterm); If the terms already exists, it will just remain the same.
$edit['data']['field_user_group'] = $newterm->tid;
}
?>
したがって、10 の倍数の範囲内のすべてのユーザーに対して、単一の用語が割り当てられます。たとえば、uid が 0 から 9 のユーザーには用語名 0 が割り当てられ、10-19 には 1 というように割り当てられます。
すべてのユーザーは、管理インターフェイスからグループの名前でタグ付けされているだけなので. これらのタグごとに、ユーザーを割り当てることもできます。
注:コードは概念のためのものであり、正確でもテスト済みでもありません。