We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25127
    • 22 Posts
    Bonjour à tous,

    Quelqu’un peut-il me donner un exemple avec makeForm pour faire un "select" dans l’exemple fourni avec la classe en question.
    Je débute sur modx et je patauge un peu.

    Donc précisement , je voudrai qu’on me montre un exemple à partir de :

    $results= array(
    ’id’=> array(’type’=>’hidden’, ’label’=>’ID’, ’name’=>’sample’, ’value’=>’0’),
    ’name’=> array(’type’=>’text’, ’label’=>’Name’, ’name’=>’name’, ’value’=>’’, ’size’=>’50’, ’maxlength’=>’255’),
    ’disabled’=> array(’type’=>’checkbox’, ’label’=>’Disabled’, ’name’=>’disabled’, ’value’=>’1’),
    ’sample-save’=> array(’type’=>’submit’, ’name’=>’sample-save’, ’value’=>’Save’, ’style’=>’width:90px;’),
    );

    en ajoutant un select pour choisir dans une liste de 5 items pour l’exemple.

    Merci d’avance pour votre aide !
      • 11975
      • 2,542 Posts
      Salut,

      il te faut d’abord une fonction pour générer un tableau des options du select
      par exemple (auteur: openGeek)

      <?php //a enlever
      
      
      function createOptions($options, $selectedOption='') {
      		$optionsArray= array();
      		if (is_array($options)) {
      			foreach ($options as $option) {
      				if (is_array($option)) {
      					$optionLabel= $option[0];
      					$optionValue= $option[1];
      				}
      				$optionsArray[]= array(
      					'label'=> $optionLabel? $optionLabel: $option,
      					'value'=> $optionValue? $optionValue: $option,
      					'selected'=> $optionValue? ($optionValue==$selectedOption? true: false): ($option==$selectedOption? true: false)
      				);
      			}
      		}
      		return $optionsArray;
      	}
      
              function getClientUserOptions($clientID, $addBlank=false) {
      		$query= "SELECT cu.id, CONCAT_WS(' ', cu.first_name, cu.last_name) AS client_user FROM client_users cu WHERE cu.clientid=$clientID ORDER BY client_user ASC";
      		if ($addBlank) $result[]= array('Select a client contact:', 0);
      		if ($ds= $this->db->query($query)) {
      			while ($row= $this->db->getRow($ds)) {
      				$name= $row['client_user'];
      				$label= stripslashes($name);
      				$value= $row['id'];
      				$result[]= array($label, $value);
      			}
      		}
      		return $result;
      	}
      ?>
      


      Ensuite:


      $results= array(
      ’id’=> array(’type’=>’hidden’, ’label’=>’ID’, ’name’=>’sample’, ’value’=>’0’),
      ’name’=> array(’type’=>’text’, ’label’=>’Name’, ’name’=>’name’, ’value’=>’’, ’size’=>’50’, ’maxlength’=>’255’),
      ’disabled’=> array(’type’=>’checkbox’, ’label’=>’Disabled’, ’name’=>’disabled’, ’value’=>’1’),
      ’monselect’=>array(type=>’select’,label=>’mon Select’,’options’=>createOptions(getClientUserOptions($clientID,false), $selectedOption)),
      ’sample-save’=> array(’type’=>’submit’, ’name’=>’sample-save’, ’value’=>’Save’, ’style’=>’width:90px;’),
      );


      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 25127
        • 22 Posts
        merci pour ton aide ! avec un peu de retard... wink