Joomlaでグループの容量を制限する最良の方法は何ですか?
私は3つのグループ "Police"、 "Lawyer"、 "Programmer"を持っています。
ユーザーは、所属するグループを選択できます。
グループには、「プログラマ」のような容量制限があります。容量制限は10です。10人のユーザーが自分を「プログラマ」に割り当てると、すでに制限10に達しているため、これ以上ユーザーはこのグループに割り当てることができません。
このためのプラグインを作成することにしました。最初の問題は、編集グループの詳細にフィールドを追加する方法ですか?
私はonContentPrepareFormを試してフィールドを挿入しましたが、運がありませんでした。それはバックエンドが原因だと思いますか?
public function onContentPrepareForm($form, $data)
{
$app = JFactory::getApplication();
if ($form->getName() == 'com_users.group') {
print_r($form->getName());
$form->loadFile(dirname(__FILE__).'/forms/form.xml');
}
}
form.xml
問題ありません。同じプラグインを使用して登録ページにフィールドを挿入しても問題ありません。
すべてのプラグインイベントを見て、それらの1つにフックしてみてください: http://docs.joomla.org/Plugin/Events
これらのイベントの1つにフックし、そのグループに何人のユーザーがいるかチェックを実行するという考えです。
これがプラグインの書き方です: http://docs.joomla.org/J2.5:Creating_a_Plugin_for_Joomla
ご覧のとおり、信じられないほど簡単です
このようなユースケースの場合:メンバーに特定のグループが必要な場合は、メンバーシップコンポーネントを使用(または開発)することをお勧めします。
これらの既製のコンポーネントの多くは、このような要件に対応し、探しているものと同様の機能を提供するように特別に指定されています。
このようにすると、すぐに機能を利用でき、コアのユーザーグループとACLをいじる必要はありません。これらは、そのような「メンバーシップ/コミュニティ」タイプのニーズに厳密に合わせて設計されていません。
相対JED検索: