Frontend\Modules\FormBuilder\Widgets\Form::parse PHP Method

parse() private method

Parse.
private parse ( )
    private function parse()
    {
        // form name
        $formName = 'form' . $this->item['id'];
        $this->tpl->assign('formName', $formName);
        $this->tpl->assign('formAction', $this->createAction() . '#' . $formName);
        $this->tpl->assign('successMessage', false);
        // got fields
        if (!empty($this->fieldsHTML)) {
            // value of the submit button
            $submitValue = '';
            // loop html fields
            foreach ($this->fieldsHTML as &$field) {
                if ($field['type'] == 'heading' || $field['type'] == 'paragraph') {
                    $field['plaintext'] = true;
                } elseif ($field['type'] == 'checkbox' || $field['type'] == 'radiobutton') {
                    // name (prefixed by type)
                    $name = $field['type'] == 'checkbox' ? 'chk' . \SpoonFilter::toCamelCase($field['name']) : 'rbt' . \SpoonFilter::toCamelCase($field['name']);
                    // rebuild so the html is stored in a general name (and not rbtName)
                    foreach ($field['html'] as &$item) {
                        $item['field'] = $item[$name];
                    }
                    // multiple items
                    $field['multiple'] = true;
                } elseif ($field['type'] == 'submit') {
                    $submitValue = $field['html'];
                } else {
                    $field['simple'] = true;
                }
                // errors (only for form elements)
                if (isset($field['simple']) || isset($field['multiple'])) {
                    $field['error'] = $this->frm->getField($field['name'])->getErrors();
                }
            }
            // assign
            $this->tpl->assign('submitValue', $submitValue);
            $this->tpl->assign('fields', $this->fieldsHTML);
            // parse form
            $this->frm->parse($this->tpl);
            $this->tpl->assign('formToken', $this->frm->getToken());
            // assign form error
            $this->tpl->assign('error', $this->frm->getErrors() != '' ? $this->frm->getErrors() : false);
        }
    }