/** * @param array<TreeNode> $nodes * @param array $contents * @param array<string,string> $parameters * @param form_persistentdocument_form $form * @deprecated Use buildContentsFromRequest instead (since 2.0.2). */ public function buildContents($nodes, &$contents, &$parameters, $form) { $eventParam = array('form' => $form, 'parameters' => &$parameters); f_event_EventManager::dispatchEvent(self::FORM_INIT_DATA_EVENT_NAME, $this, $eventParam); foreach ($nodes as $node) { // $document is a form_persistentdocument_field $document = $node->getPersistentDocument(); $html = ''; if ($document instanceof form_persistentdocument_group) { $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $form->getMarkup())->load('Form-Group'); $elements = array(); $this->buildContents($node->getChildren(), $elements, $parameters, $form); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getDescription(), 'elements' => $elements); $html = $templateObject->setAttribute('group', $attributes); } else { $html = FormHelper::fromFieldDocument($document, isset($parameters[$document->getFieldName()]) ? $parameters[$document->getFieldName()] : ''); $templateObject = TemplateLoader::getInstance()->setPackageName('modules_form')->setDirectory('templates/markup/' . $form->getMarkup())->load($document->getSurroundingTemplate()); $attributes = array('id' => $document->getId(), 'label' => $document->getLabel(), 'description' => $document->getHelpText(), 'required' => $document->getRequired(), 'display' => f_util_ClassUtils::methodExists($document, 'getDisplay') ? $document->getDisplay() : '', 'html' => $html); $templateObject->setAttribute('field', $attributes); } $contents[$document->getId()] = $templateObject->execute(); } }
/** * @param form_persistentdocument_form $form * @return string */ protected function getInputTemplateByFullName($form) { return $this->getTemplateByFullName('modules_form', 'markup/' . $form->getMarkup() . '/Form'); }