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)';
}
}