CType_labels[$row['CType']]; $itemContent .= $parentObject->linkEditContent('' . htmlspecialchars($contentType) . '', $row) . '
'; $flexFormData = GeneralUtility::makeInstance(FlexFormService::class) ->convertFlexFormContentToArray($row['pi_flexform']); $persistenceIdentifier = $flexFormData['settings']['persistenceIdentifier']; if (!empty($persistenceIdentifier)) { try { $formPersistenceManager = GeneralUtility::makeInstance(ObjectManager::class)->get(FormPersistenceManagerInterface::class); try { $formDefinition = $formPersistenceManager->load($persistenceIdentifier); $formLabel = $formDefinition['label']; } catch (ParseErrorException $e) { $formLabel = sprintf( $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.invalidPersistenceIdentifier'), $persistenceIdentifier ); } catch (PersistenceManagerException $e) { $formLabel = sprintf( $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.inaccessiblePersistenceIdentifier'), $persistenceIdentifier ); } catch (Exception $e) { $formLabel = sprintf( $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.notExistingdPersistenceIdentifier'), $persistenceIdentifier ); } } catch (NoSuchFileException $e) { $this->addInvalidFrameworkConfigurationFlashMessage($e); $formLabel = $messageText; } catch (ParseErrorException $e) { $this->addInvalidFrameworkConfigurationFlashMessage($e); $formLabel = sprintf( $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.invalidFrameworkConfiguration'), $persistenceIdentifier ); } } else { $formLabel = $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.noPersistenceIdentifier'); } $itemContent .= $parentObject->linkEditContent( $parentObject->renderText($formLabel), $row ) . '
'; $drawItem = false; } } /** * @param \Exception $e */ protected function addInvalidFrameworkConfigurationFlashMessage(\Exception $e) { $messageText = sprintf( $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.invalidFrameworkConfiguration.text'), $e->getMessage() ); GeneralUtility::makeInstance(ObjectManager::class) ->get(FlashMessageService::class) ->getMessageQueueByIdentifier('core.template.flashMessages') ->enqueue( GeneralUtility::makeInstance( FlashMessage::class, $messageText, $this->getLanguageService()->sL(self::L10N_PREFIX . 'tt_content.preview.invalidFrameworkConfiguration.title'), AbstractMessage::ERROR, true ) ); } /** * @return LanguageService */ protected function getLanguageService(): LanguageService { return $GLOBALS['LANG']; } }