/** * Initialize form elements * * @return \Engine\Crud\Grid\Filter */ public function initForm() { if ($this->_formCreated) { return $this; } $this->_form = new Form(); if ($this->_multi) { $prefix = $this->_prefix ? $this->_prefix . "[1]" : ($prefix = "[1]"); } else { $prefix = $this->_prefix; } $this->_fieldNames = []; foreach ($this->_fields as $key => $field) { $elements = $field->getElement(); $field->updateField(); if (!is_array($elements)) { $elements = [$elements]; } foreach ($elements as $element) { $name = $prefix . "[" . $key . "]"; $this->_fieldNames[$name] = $field->getName(); $this->_form->add($element); } } $this->_form->setAction($this->_action); $this->_form->setMethod($this->_method); $this->_formCreated = true; return $this; }