From b916af5b2b7ca5f4e32bbe445e38b0a9083f318b Mon Sep 17 00:00:00 2001 From: Fabian Galinski <fabian@sgalinski.de> Date: Thu, 17 Aug 2017 21:52:41 +0200 Subject: [PATCH] [BUGFIX] News and category translations aren't shown in the page module --- Classes/Utility/VersionUtility.php | 83 +++++++++++++++ Configuration/TCA/Overrides/pages.php | 147 ++++++++++++++++++++------ 2 files changed, 197 insertions(+), 33 deletions(-) create mode 100644 Classes/Utility/VersionUtility.php diff --git a/Classes/Utility/VersionUtility.php b/Classes/Utility/VersionUtility.php new file mode 100644 index 0000000..724feeb --- /dev/null +++ b/Classes/Utility/VersionUtility.php @@ -0,0 +1,83 @@ +<?php + +namespace SGalinski\SgNews\Utility; + +/*************************************************************** + * Copyright notice + * + * (c) sgalinski Internet Services (https://www.sgalinski.de) + * + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +use TYPO3\CMS\Core\Utility\VersionNumberUtility; + +/** + * Helper class to detect the used TYPO3 version. + */ +class VersionUtility { + /** + * Returns true if the current version ts TYPO3 6.2. + * + * @return bool + */ + public static function isVersion62() { + $versionNumber = self::getVersion(); + return ($versionNumber >= 6002000 && $versionNumber < 7000000); + } + + /** + * Returns true if the current version ts TYPO3 7.6 and less version 8 + * + * @return bool + */ + public static function isVersion76() { + $versionNumber = self::getVersion(); + return ($versionNumber >= 7006000 && $versionNumber < 8000000); + } + + /** + * Returns true if the current version ts TYPO3 7.6 or later + * + * @return bool + */ + public static function isVersion76OOrHigher() { + return (self::getVersion() >= 7006000); + } + + /** + * Returns true if the current version ts TYPO3 8.7 or later + * + * @return bool + */ + public static function isVersion870OrHigher() { + return (self::getVersion() >= 8007000); + } + + /** + * Returns the current version as an integer. + * + * @return int + */ + protected static function getVersion() { + return VersionNumberUtility::convertVersionNumberToInteger( + VersionNumberUtility::getNumericTypo3Version() + ); + } +} diff --git a/Configuration/TCA/Overrides/pages.php b/Configuration/TCA/Overrides/pages.php index 6ffd9d6..4bd424a 100644 --- a/Configuration/TCA/Overrides/pages.php +++ b/Configuration/TCA/Overrides/pages.php @@ -208,11 +208,8 @@ $columns = array_merge( ], $imageColumns ); -// # -// # Pages -// # - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', $columns); +\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages_language_overlay', $imageColumns); $GLOBALS['TCA']['pages']['palettes']['editorialWithNewsAuthor'] = [ 'showitem' => 'tx_sgnews_author;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tx_sgnews_author.inPalette, @@ -229,8 +226,13 @@ $GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] = [ 'canNotCollapse' => 1, ]; -$GLOBALS['TCA']['pages']['types'][116] = [ - 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + +if (\SGalinski\SgNews\Utility\VersionUtility::isVersion870OrHigher()) { + # + # Pages + # + $GLOBALS['TCA']['pages']['types'][116] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, --palette--;;titleDescriptionAndHighlightFlag, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.editorial;editorialWithNewsAuthor, tx_sgnews_related_news, tx_sgnews_tags, @@ -242,7 +244,7 @@ $GLOBALS['TCA']['pages']['types'][116] = [ tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout, - --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;visibility, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour, @@ -250,10 +252,10 @@ $GLOBALS['TCA']['pages']['types'][116] = [ --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.language;language, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous, ' -]; + ]; -$GLOBALS['TCA']['pages']['types'][117] = [ - 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + $GLOBALS['TCA']['pages']['types'][117] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, title, tx_realurl_pathsegment, tx_realurl_exclude, --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, @@ -263,7 +265,7 @@ $GLOBALS['TCA']['pages']['types'][117] = [ tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, description, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout, - --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;visibility, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour, @@ -271,28 +273,94 @@ $GLOBALS['TCA']['pages']['types'][117] = [ --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.language;language, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous, ' -]; + ]; -// Removal of the realurl fields, if the extension isn't installed. -if (!\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('realurl')) { - $GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] = str_replace( - '--linebreak--, tx_realurl_pathsegment, tx_realurl_exclude,', '', - $GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] - ); - $GLOBALS['TCA']['pages']['types'][117] = str_replace( - 'tx_realurl_pathsegment, tx_realurl_exclude,', '', - $GLOBALS['TCA']['pages']['types'][117] - ); -} + # + # Pages Overlay + # + $GLOBALS['TCA']['pages_language_overlay']['types'][116] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + subtitle;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.subtitle.inPalette, + description, tx_realurl_pathsegment, author, + --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, + tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract, + tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language, + sys_language_uid, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;hiddenonly, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access' + ]; -// # -// # Pages Overlay -// # + $GLOBALS['TCA']['pages_language_overlay']['types'][117] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + title, tx_realurl_pathsegment, + --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, + tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract, + tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, description, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language, + sys_language_uid, + --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;hiddenonly, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access' + ]; +} else { + # + # Pages + # + $GLOBALS['TCA']['pages']['types'][116] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + --palette--;;titleDescriptionAndHighlightFlag, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.editorial;editorialWithNewsAuthor, + tx_sgnews_related_news, tx_sgnews_tags, + --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, + tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata, + tx_projectbase_devnullrobots_flags, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract, + tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout, + --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;visibility, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.caching;caching, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.language;language, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous, + ' + ]; -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages_language_overlay', $imageColumns); + $GLOBALS['TCA']['pages']['types'][117] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + title, tx_realurl_pathsegment, tx_realurl_exclude, + --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, + tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.metadata, + tx_projectbase_devnullrobots_flags, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.abstract;abstract, + tx_projectbase_seo_titletag,tx_projectbase_seo_canonicaltag, description, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.appearance, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.layout;layout, + --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;visibility, + --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access, + --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tabs.behaviour, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.caching;caching, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.language;language, + --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.palettes.miscellaneous;miscellaneous, + ' + ]; -$GLOBALS['TCA']['pages_language_overlay']['types'][116] = [ - 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + # + # Pages Overlay + # + $GLOBALS['TCA']['pages_language_overlay']['types'][116] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, subtitle;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.subtitle.inPalette, description, tx_realurl_pathsegment, author, --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, @@ -303,10 +371,10 @@ $GLOBALS['TCA']['pages_language_overlay']['types'][116] = [ --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;hiddenonly, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access' -]; + ]; -$GLOBALS['TCA']['pages_language_overlay']['types'][117] = [ - 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, + $GLOBALS['TCA']['pages_language_overlay']['types'][117] = [ + 'showitem' => '--palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.standard;standard, title, tx_realurl_pathsegment, --div--;LLL:EXT:sg_news/Resources/Private/Language/locallang_db.xlf:pages.tabs.images, tx_sgnews_teaser2_image, tx_sgnews_teaser1_image, @@ -316,4 +384,17 @@ $GLOBALS['TCA']['pages_language_overlay']['types'][117] = [ --div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.visibility;hiddenonly, --palette--;LLL:EXT:cms/locallang_tca.xlf:pages.palettes.access;access' -]; + ]; +} + +// Removal of the realurl fields, if the extension isn't installed. +if (!\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('realurl')) { + $GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] = str_replace( + '--linebreak--, tx_realurl_pathsegment, tx_realurl_exclude,', '', + $GLOBALS['TCA']['pages']['palettes']['titleDescriptionAndHighlightFlag'] + ); + $GLOBALS['TCA']['pages']['types'][117] = str_replace( + 'tx_realurl_pathsegment, tx_realurl_exclude,', '', + $GLOBALS['TCA']['pages']['types'][117] + ); +} -- GitLab