From c37afe3072761851602604d0888042941387754d Mon Sep 17 00:00:00 2001 From: Benjamin Kott Date: Wed, 7 Jun 2023 16:03:18 +0200 Subject: [PATCH] [FEATURE] Allow display class on all default content headers (#1366) --- .../Overrides/300_content_general_columns.php | 54 +++++++++++++------ .../301_content_general_palettes.php | 27 ++++++++++ Resources/Private/Language/Backend.xlf | 33 +++++++----- .../Partials/ContentElements/Header/All.html | 2 + .../ContentElements/Header/Header.html | 11 ++-- .../ContentElements/Header/SubHeader.html | 9 ++-- ext_tables.sql | 2 + 7 files changed, 101 insertions(+), 37 deletions(-) diff --git a/Configuration/TCA/Overrides/300_content_general_columns.php b/Configuration/TCA/Overrides/300_content_general_columns.php index c09db5942..62f618a95 100644 --- a/Configuration/TCA/Overrides/300_content_general_columns.php +++ b/Configuration/TCA/Overrides/300_content_general_columns.php @@ -10,6 +10,40 @@ defined('TYPO3') or die('Access denied.'); // Adjust columns for generic usage +$GLOBALS['TCA']['tt_content']['columns']['header_class'] = [ + 'exclude' => true, + 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.header_class', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'items' => [ + ['', ''], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h1', 'h1'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h2', 'h2'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h3', 'h3'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h4', 'h4'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h5', 'h5'] + ] + ], + 'l10n_mode' => 'exclude', +]; +$GLOBALS['TCA']['tt_content']['columns']['subheader_class'] = [ + 'exclude' => true, + 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:field.subheader_class', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'items' => [ + ['', ''], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h1', 'h1'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h2', 'h2'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h3', 'h3'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h4', 'h4'], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h5', 'h5'] + ] + ], + 'l10n_mode' => 'exclude', +]; $GLOBALS['TCA']['tt_content']['columns']['frame_layout'] = [ 'exclude' => true, 'displayCond' => 'FIELD:frame_class:!=:none', @@ -245,22 +279,10 @@ 'renderType' => 'selectSingle', 'default' => 2, 'items' => [ - [ - 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:subitems_header_layout.2', - 'value' => 2, - ], - [ - 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:subitems_header_layout.3', - 'value' => 3, - ], - [ - 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:subitems_header_layout.4', - 'value' => 4, - ], - [ - 'label' => 'LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:subitems_header_layout.5', - 'value' => 5, - ] + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h2', 2], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h3', 3], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h4', 4], + ['LLL:EXT:bootstrap_package/Resources/Private/Language/Backend.xlf:option.h5', 5] ] ] ]; diff --git a/Configuration/TCA/Overrides/301_content_general_palettes.php b/Configuration/TCA/Overrides/301_content_general_palettes.php index f85268a9f..398784abf 100644 --- a/Configuration/TCA/Overrides/301_content_general_palettes.php +++ b/Configuration/TCA/Overrides/301_content_general_palettes.php @@ -7,8 +7,35 @@ * LICENSE file that was distributed with this source code. */ +use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; + defined('TYPO3') or die('Access denied.'); +ExtensionManagementUtility::addFieldsToPalette( + 'tt_content', + 'header', + 'header_class', + 'after:header_layout' +); +ExtensionManagementUtility::addFieldsToPalette( + 'tt_content', + 'headers', + 'header_class', + 'after:header_layout' +); +ExtensionManagementUtility::addFieldsToPalette( + 'tt_content', + 'header', + 'subheader_class', + 'after:subheader' +); +ExtensionManagementUtility::addFieldsToPalette( + 'tt_content', + 'headers', + 'subheader_class', + 'after:subheader' +); + // Add Palettes for Generic usage $GLOBALS['TCA']['tt_content']['palettes']['header_minimal'] = [ 'showitem' => ' diff --git a/Resources/Private/Language/Backend.xlf b/Resources/Private/Language/Backend.xlf index 11307dcdf..5f1cd5cd8 100644 --- a/Resources/Private/Language/Backend.xlf +++ b/Resources/Private/Language/Backend.xlf @@ -752,6 +752,12 @@ Icon + + Header Class + + + Subheader Class + Panel Class @@ -962,6 +968,21 @@ Darker + + H1 + + + H2 + + + H3 + + + H4 + + + H5 + 16:9 @@ -1071,18 +1092,6 @@ Items Header Type - - H2 - - - H3 - - - H4 - - - H5 - diff --git a/Resources/Private/Partials/ContentElements/Header/All.html b/Resources/Private/Partials/ContentElements/Header/All.html index 5db2c86bc..40ae999cf 100644 --- a/Resources/Private/Partials/ContentElements/Header/All.html +++ b/Resources/Private/Partials/ContentElements/Header/All.html @@ -6,6 +6,7 @@ header: data.header, layout: data.header_layout, class: settings.header.class, + displayClass: data.header_class, positionClass: '{f:if(condition: data.header_position, then: \'text-{data.header_position}\')}', link: data.header_link, default: settings.header.defaultHeaderType}" /> @@ -13,6 +14,7 @@ subheader: data.subheader, layout: data.header_layout, class: settings.subheader.class, + displayClass: data.subheader_class, positionClass: '{f:if(condition: data.header_position, then: \'text-{data.header_position}\')}', default: settings.header.defaultHeaderType}" /> -

+

{header}

-

+

{header}

-

+

{header}

@@ -22,12 +22,12 @@

-
+
{header}
-
+
{header}
@@ -40,6 +40,7 @@
header: header, layout: default, class: class, + displayClass: displayClass, positionClass: positionClass, link: link}" /> diff --git a/Resources/Private/Partials/ContentElements/Header/SubHeader.html b/Resources/Private/Partials/ContentElements/Header/SubHeader.html index 4e0c3a28a..7b71b4862 100644 --- a/Resources/Private/Partials/ContentElements/Header/SubHeader.html +++ b/Resources/Private/Partials/ContentElements/Header/SubHeader.html @@ -2,22 +2,22 @@ -

+

{subheader}

-

+

{subheader}

-

+

{subheader}

-
+
{subheader}
@@ -31,6 +31,7 @@
diff --git a/ext_tables.sql b/ext_tables.sql index a11191c58..f4052f971 100644 --- a/ext_tables.sql +++ b/ext_tables.sql @@ -13,6 +13,8 @@ CREATE TABLE pages ( -- Table structure for table 'tt_content' -- CREATE TABLE tt_content ( + header_class varchar(60) DEFAULT '' NOT NULL, + subheader_class varchar(60) DEFAULT '' NOT NULL, teaser text, aspect_ratio varchar(255) DEFAULT '1.3333333333333' NOT NULL, items_per_page int(11) unsigned DEFAULT '10',