ロール (ユーザー アクセス ロールを表す) とモジュール (ロールごとに許可されたモジュールを表す) と呼ばれる 2 つの MySQL DB テーブルがあります。各役割は多くのモジュールを持つことができ、各モジュールは多くの役割を持つことができます。
関連するすべてのモジュールを選択できる複数選択フィールドを使用して、役割テーブルを表す crud を追加したいと考えています。それを行う最善の方法は何ですか。前もって感謝します。
これには複数の解決策があります。
最初のもの- ロールを持つエキスパンダーでユーザー CRUD を使用します (動作するはずです):
$crud = $this->add('CRUD');
$crud->setModel('User');
if (! $crud->isEditing()) {
// add subCRUD
$sub_crud = $crud->addRef('UserRole', array(
'extra_fields' => array('role'),
'view_options' => array('entity_name' => 'Role'),
'label' => 'Roles'
));
}
2 つ目- Roles + grid->addSelectable($fields) で Grid を使用します (テストされていませんが、アイデアを提供するためだけに):
$grid = $this->add('Grid');
$grid->setModel('UserRole');
$grid->addSelectable('selected');
3 つ目- 役割 (使用可能な役割と関連する役割) を含む 2 つのリストといくつかのボタンを使用して、役割をあるリストから別のリストに「移動」します。このようなもの: (現在、適切な Codepad ページへのリンクが見つかりません) :(
これを行うには、間違いなくさらに多くの方法があります。