/** * Ajoute un champ au formulaire * * @param string $name Le nom du champ * @param \form\Field $field l'objet champ * @param int $iteration iteration du champ / si null, champ unique * * @return $this->fields */ protected function addField($name, \form\Field $field, $iteration = null) { $real_field_name = $this->get_name() . "[" . $name . "]"; if (!is_null($iteration)) { $real_field_name .= "[" . $iteration . "]"; } $field->add_param('name', $real_field_name); if (isset($this->post[$this->get_name()][$name])) { if (!is_null($iteration)) { $field->add_param('value', $this->post[$this->get_name()][$name][$iteration]); } else { $field->add_param('value', $this->post[$this->get_name()][$name]); } } if (!is_null($iteration)) { $this->fields[$name][$iteration] = $field; } else { $this->fields[$name] = $field; } return $this->fields; }