/** * @return string */ public function buildForm() { $formFields = ''; foreach ($this->getFormFields() as $field => $options) { $formBuilder = new FormBuilder(); $formFields .= $formBuilder->field($this, $field, $options); } return $formFields; }
/** * @param $fieldName * @param ImageContract $imageModel * @param null $actualFieldName * @return string * @todo improve this and remove actualFieldName so we can relieve the problem with different configs.. */ public function getImageMetaFieldsHtml($fieldName, ImageContract $imageModel = null, $actualFieldName = null) { $formBuilder = new FormBuilder(); $fields = $this->getImageMetaFields($fieldName); $html = ''; if (is_null($actualFieldName)) { $actualFieldName = $fieldName; } if (is_null($imageModel)) { $imageModel = $this->getImageModel()->newInstance(); $fileId = ':fileId:'; $isNew = true; } else { $fileId = $imageModel->getKey(); $isNew = false; } // Check for collisions $imageModel->checkMetaFieldCollision(array_keys($fields)); $imageModel->setResourceModel($this); foreach ($fields as $metaFieldName => $options) { $new = $isNew ? '[new]' : ''; $elementName = '_files' . $new . '[image][' . $actualFieldName . '][' . $fileId . '][meta][' . $metaFieldName . ']'; $html .= $formBuilder->field($imageModel, $metaFieldName, $options, $elementName)->render(); } return $html; }