paolo@bimodesign.com | +34 608 61 64 10

Framework

        

Zend - Gestione vari multicheckbox in una form

In questo articolo, vi illustro come gestire piu' multicheck box nella stessa form.
Per capire meglio l'esempio, inserisco l'immagine del risultato finale.
Per definire nell'output sul form, tanti checkbox quanti sono i moduli, occorre definire un array da dare in pasto al metodo AddElement, in questo modo

$ListModulos = $modulosPermisos->getAllListPermisosModulos(1);

$cod_modulo='';
$cod_permiso='';

foreach($ListModulos as $key => $valueModulos){
    if($valueModulos['cod_modulo'] != $cod_modulo){
         $modulo='';
         $modulo = new Zend_Form_Element_MultiCheckbox($valueModulos['nombre_modulo']);
         $modulo-> setLabel($valueModulos['nombre_modulo']);
         $cod_modulo=$valueModulos['cod_modulo'];
    }

    $ListPermisos = $modulosPermisos->getListPermisosByModulosId($valueModulos['cod_modulo']);

    foreach($ListPermisos as $keyPermisos => $valuePermisos){
        $modulo->addMultiOption($valuePermisos['cod_permiso'],$valuePermisos['nombre_permiso']);
        $this->addElements(array($modulo));
    }
}

Notare che occorre assegnare il nome del gruppo anche nell'instanziare la classe

$modulo = new Zend_Form_Element_MultiCheckbox($valueModulos['nombre_modulo']);