diff --git a/Classes/Backend/CategoryWarningDrawer.php b/Classes/Backend/CategoryWarningDrawer.php index ed9a66891ef374afc3d85ff3eb7a77a605794b59..7f605f05b41ca4daec96a0f0f7f94dedb3929685 100644 --- a/Classes/Backend/CategoryWarningDrawer.php +++ b/Classes/Backend/CategoryWarningDrawer.php @@ -30,6 +30,7 @@ use TYPO3\CMS\Backend\Controller\PageLayoutController; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Localization\LanguageService; +use TYPO3\CMS\Core\Messaging\AbstractMessage; use TYPO3\CMS\Core\Messaging\FlashMessage; use TYPO3\CMS\Core\Messaging\FlashMessageRendererResolver; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -38,22 +39,17 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; * */ class CategoryWarningDrawer { - /** - * @var LanguageService - */ - protected $languageService; - - public function __construct(LanguageService $languageService) { - $this->languageService = $languageService; - } - /** * @param array|NULL $params * @param PageLayoutController|NULL $parentObj * @return string - * @throws \Doctrine\DBAL\Driver\Exception + * @throws \Doctrine\DBAL\Driver\Exception|\Doctrine\DBAL\DBALException */ public function render(array $params = NULL, PageLayoutController $parentObj = NULL): string { + if (!$parentObj || $parentObj->pageinfo['doktype'] !== 116) { + return ''; + } + $parentPage = $parentObj->pageinfo['pid']; $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable('pages'); @@ -66,19 +62,21 @@ class CategoryWarningDrawer { ) )->execute() ->fetchOne(); + if ($parentDoktype === Category::DOK_TYPE_CATEGORY) { return ''; } + $languageService = GeneralUtility::makeInstance(LanguageService::class); $message = GeneralUtility::makeInstance( FlashMessage::class, - $this->languageService->sL( + $languageService->sL( 'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:categoryErrorMessage' ), - $this->languageService->sL( + $languageService->sL( 'LLL:EXT:sg_news/Resources/Private/Language/locallang_backend.xlf:categoryErrorMessageHeader' ), - FlashMessage::ERROR, + AbstractMessage::ERROR, TRUE ); return GeneralUtility::makeInstance(FlashMessageRendererResolver::class)