getRecord(); $view = GeneralUtility::makeInstance(StandaloneView::class); $view->setTemplatePathAndFilename('EXT:vitec/Resources/Private/Templates/Preview/Usecaseshow.html'); // Parse FlexForm data $flexFormService = GeneralUtility::makeInstance(FlexFormService::class); $flexFormData = $flexFormService->convertFlexFormContentToArray($record['pi_flexform'] ?? ''); // Get usecase data if selected $usecaseData = null; $usecaseUid = (int)($flexFormData['settings']['usecase'] ?? 0); if ($usecaseUid > 0) { $usecaseRepository = GeneralUtility::makeInstance(UsecaseRepository::class); $usecase = $usecaseRepository->findByUid($usecaseUid); if ($usecase) { $usecaseData = [ 'uid' => $usecase->getUid(), 'title' => $usecase->getTitle(), 'subtitle' => $usecase->getSubtitle(), 'description' => $usecase->getDescription() ]; } } // Get layout setting $layout = $flexFormData['settings']['layout'] ?? 'default'; // Assign variables to view $view->assignMultiple([ 'record' => $record, 'flexFormData' => $flexFormData, 'usecase' => $usecaseData, 'layout' => $layout, 'pluginName' => 'Usecaseshow' ]); return $view->render(); } /** * @param GridColumnItem $item * @return string */ public function renderPageModulePreviewHeader(GridColumnItem $item): string { $record = $item->getRecord(); // Parse FlexForm to get usecase info for header $flexFormService = GeneralUtility::makeInstance(FlexFormService::class); $flexFormData = $flexFormService->convertFlexFormContentToArray($record['pi_flexform'] ?? ''); $usecaseUid = (int)($flexFormData['settings']['usecase'] ?? 0); if ($usecaseUid > 0) { return '🎯 Usecase Show Plugin (Usecase ID: ' . $usecaseUid . ')'; } return '🎯 Usecase Show Plugin (No usecase selected)'; } }