/** * FormTools::writeOptionsFromCollection() * retourne un tableau d'options à partir de la collection passée en * paramètre et de la méthode à afficher comme label du select. * * @static * @param Object Collection $col une collection d'objet * @param mixed $selID la ou les valeurs selectionnées par défaut * @param string $labelmethod méthode à appelé pour le contenu de l'option * @param boolean $addNullEntry true pour ajouter une option 'Sélectionnez * un élément' * @return void */ static function writeOptionsFromCollection($col, $selID = 0, $labelmethod = 'toString', $addNullEntry = false) { $options = array(); if ($col instanceof Collection) { $dataArray = array(); $count = $col->getCount(); for ($i = 0; $i < $count; $i++) { $item = $col->getItem($i); if (method_exists($item, 'getId') && method_exists($item, $labelmethod)) { $dataArray[$item->getId()] = $item->{$labelmethod}(); } unset($item); } $options = FormTools::writeOptionsFromArray($dataArray, $selID, $addNullEntry); } return $options; }