public getGridFromTemplateFile ( FluidTYPO3\Flux\View\ViewContext $viewContext, string $gridName = 'grid' ) : FluidTYPO3\Flux\Form\Container\Grid | null | ||
$viewContext | FluidTYPO3\Flux\View\ViewContext | |
$gridName | string | |
return | FluidTYPO3\Flux\Form\Container\Grid | null |
public function getGridFromTemplateFile(ViewContext $viewContext, $gridName = 'grid')
{
$templatePathAndFilename = $viewContext->getTemplatePathAndFilename();
$section = $viewContext->getSectionName();
$grid = NULL;
if (TRUE === file_exists($templatePathAndFilename)) {
$exposedView = $this->getPreparedExposedTemplateView($viewContext);
$exposedView->setTemplatePathAndFilename($templatePathAndFilename);
$grid = $exposedView->getGrid($section, $gridName);
}
if (NULL === $grid) {
$grid = Grid::create(array('name' => $gridName));
}
return $grid;
}
/** * @param array $row * @return Grid */ public function getGrid(array $row) { if (NULL !== $this->grid) { return $this->grid; } $templatePathAndFilename = $this->getTemplatePathAndFilename($row); $section = $this->getConfigurationSectionName($row); $gridName = 'grid'; $paths = $this->getTemplatePaths($row); $extensionKey = $this->getExtensionKey($row); $extensionName = ExtensionNamingUtility::getExtensionName($extensionKey); $fieldName = $this->getFieldName($row); $variables = $this->configurationService->convertFlexFormContentToArray($row[$fieldName]); $variables['record'] = $row; $grid = $this->configurationService->getGridFromTemplateFile($templatePathAndFilename, $section, $gridName, $paths, $extensionName, $variables); return $grid; }