FieldCustomizations = $fieldCustomizations; parent::__construct($formBuilder, $parent, $data); } public function ParseContent() { $showEmptyFields = Sanitizer::GetBooleanValueFromPath($this->Data, ['ShowEmptyFields'], false); $fields = $this->FormBuilder->GetFields(true, true); $context = $this->GetDocument()->Context; foreach($fields as $currentField) { $visibility = ''; if($context != null) $$visibility = $context->GetFieldVariable($currentField->Options->Id, 'Visibility'); if($visibility == 'hide') continue; if(isset($currentField->ContainerManager)) { $columns = $currentField->ContainerManager->GetHeaderColumns(); if(count($columns) > 0) $this->Fields = array_merge($this->Fields, $columns); continue; } if(!$currentField->GetStoresInformation()) continue; if($currentField->IsUsed() || $showEmptyFields) $this->Fields[] = $currentField; } return $this; } public function Render() { $context = $this->GetDocument()->Context; $groupId = ''; if($this->FieldCustomizations != null && $context != null) { $groupId = $context->CreateUniqueVariableGroup(); $context->AddFieldVariables($this->FieldCustomizations, $groupId); } $result = $this->RenderTemplate($this->GetTemplateName(), $this); if($groupId != '') $context->RemoveVariableGroup($groupId); return $result; } protected function GetTemplateName() { return 'core/Managers/HTMLGenerator/HTMLParsers/Templates/FieldSummaryTemplate/OneFieldPerRowTemplate.twig'; } public function RenderTemplate($templateName, $model) { $markup = new Markup($this->FormBuilder->Loader->GetTwigManager()->Render($templateName, $model, ['Context' => $this->GetDocument()->Context]), "UTF-8"); return $markup; } }