Ajout de la fonction getSelectGroup à plugin_form
Bonjour,
Pour les besoins de mon projet, j'ai ajouté la fonction suivante au plugin_form :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
/**
* retourne un champ menu deroulant sectionne en groupe
* @access public
* @param string $sName nom du champ
* @param array @tValue1 1er tableau de valeurs du menu deroulant
* @param array @tValue2 2nd tableau de valeurs du menu deroulant
* @param string $sLabel1 nom du 1er groupe
* @param string $sLabel2 nom du 2nd groupe
* @param array $tOption options du champ
*/
public function getSelectGroup($sName,$tValue1,$tValue2,$sLabel1,$sLabel2,$tOption=null){
$sCurrentValue=$this->getValue($sName);
$bSelected=false;
$sHtml=null;
$sHtml.='<select name="'.$sName.'" '.$this->getOption($tOption).'><optgroup label='.$sLabel1.'>';
foreach($tValue1 as $sValue => $sLabel){
$sHtml.='<option ';
if($sValue==$sCurrentValue){
$sHtml.=' selected="selected"';
$bSelected=true;
}
$sHtml.=' value="'.$sValue.'">'.$sLabel.'</option>';
}
$sHtml .='<optgroup label='.$sLabel2.'>';
foreach($tValue2 as $sValue => $sLabel){
$sHtml.='<option ';
if(($sValue==$sCurrentValue)and !$bSelected){
$sHtml.=' selected="selected"';
}
$sHtml.=' value="'.$sValue.'">'.$sLabel.'</option>';
}
$sHtml.='</optgroup></select>';
$sHtml.=$this->getMessage($sName);
return $sHtml;
} |
Le but de ce select était de proposer dans le premier groupe les objets associés à un lieu et dans le second groupe l'ensemble des objets tout lieu confondu.
En tout cas Bravo à Michael, car ce n'est pas évident de trouver les bon mécanisme à mettre en oeuvre car beaucoup de choix s'offre à lui quand il doit choisir comment va se présenter une focntion.