Пример #1
0
 /**
  * GridColumnFieldMapper::render()
  *
  * @param  $object
  * @return string
  */
 public function render($object)
 {
     $return = Tools::getValueFromMacro($object, $this->macro);
     // Le rendu par defaut
     if (empty($this->render)) {
         return $return;
     } else {
         $render = $this->render;
         if ($render['Type'] == 'text') {
             // On supprime les '%' si Name non fourni
             $name = !isset($render['Name']) ? strtr($this->macro, array('%' => '')) : $render['Name'];
             return sprintf('<input type="text" size="12" value="%s" name="%s[]" />', $return, $name);
         } elseif ($render['Type'] == 'select') {
             if (!isset($render['Coll'])) {
                 die('Error: specifiez une collection au FieldMapper!!');
             }
             // On supprime les '%' et le '.Id' final si Name non fourni
             if (!isset($render['Name'])) {
                 $cleanedMacro = strtr($this->macro, array('%' => ''));
                 $render['Name'] = substr($cleanedMacro, 0, strlen($cleanedMacro) - 3);
             }
             $name = $render['Name'];
             $options = FormTools::writeOptionsFromCollection($render['Coll'], $return);
             return sprintf('<select name="%s[]" >%s</select>', $name, implode("\n\t", $options));
         }
     }
 }