Skip to content

Commit

Permalink
[FEATURE] Allow display class on all default content headers (#1366)
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminkott committed Jun 7, 2023
1 parent 13ce41c commit c37afe3
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 37 deletions.
54 changes: 38 additions & 16 deletions Configuration/TCA/Overrides/300_content_general_columns.php
Expand Up @@ -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',
Expand Down Expand Up @@ -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]
]
]
];
Expand Down
27 changes: 27 additions & 0 deletions Configuration/TCA/Overrides/301_content_general_palettes.php
Expand Up @@ -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' => '
Expand Down
33 changes: 21 additions & 12 deletions Resources/Private/Language/Backend.xlf
Expand Up @@ -752,6 +752,12 @@
<source>Icon</source>
</trans-unit>

<trans-unit id="field.header_class">
<source>Header Class</source>
</trans-unit>
<trans-unit id="field.subheader_class">
<source>Subheader Class</source>
</trans-unit>
<trans-unit id="field.panel_class">
<source>Panel Class</source>
</trans-unit>
Expand Down Expand Up @@ -962,6 +968,21 @@
<trans-unit id="option.darker">
<source>Darker</source>
</trans-unit>
<trans-unit id="option.h1">
<source>H1</source>
</trans-unit>
<trans-unit id="option.h2">
<source>H2</source>
</trans-unit>
<trans-unit id="option.h3">
<source>H3</source>
</trans-unit>
<trans-unit id="option.h4">
<source>H4</source>
</trans-unit>
<trans-unit id="option.h5">
<source>H5</source>
</trans-unit>

<trans-unit id="ratio.16_9">
<source>16:9</source>
Expand Down Expand Up @@ -1071,18 +1092,6 @@
<trans-unit id="subitems_header_layout">
<source>Items Header Type</source>
</trans-unit>
<trans-unit id="subitems_header_layout.2">
<source>H2</source>
</trans-unit>
<trans-unit id="subitems_header_layout.3">
<source>H3</source>
</trans-unit>
<trans-unit id="subitems_header_layout.4">
<source>H4</source>
</trans-unit>
<trans-unit id="subitems_header_layout.5">
<source>H5</source>
</trans-unit>

</body>
</file>
Expand Down
2 changes: 2 additions & 0 deletions Resources/Private/Partials/ContentElements/Header/All.html
Expand Up @@ -6,13 +6,15 @@
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}" />
<f:render partial="Header/SubHeader" arguments="{
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}" />
<f:render partial="Header/Date" arguments="{
Expand Down
11 changes: 6 additions & 5 deletions Resources/Private/Partials/ContentElements/Header/Header.html
Expand Up @@ -2,17 +2,17 @@
<f:if condition="{header}">
<f:switch expression="{layout}">
<f:case value="1">
<h1 class="{class} {positionClass}">
<h1 class="{class} {displayClass} {positionClass}">
<f:link.typolink parameter="{link}"><span>{header}</span></f:link.typolink>
</h1>
</f:case>
<f:case value="2">
<h2 class="{class} {positionClass}">
<h2 class="{class} {displayClass} {positionClass}">
<f:link.typolink parameter="{link}"><span>{header}</span></f:link.typolink>
</h2>
</f:case>
<f:case value="3">
<h3 class="{class} {positionClass}">
<h3 class="{class} {displayClass} {positionClass}">
<f:link.typolink parameter="{link}"><span>{header}</span></f:link.typolink>
</h3>
</f:case>
Expand All @@ -22,12 +22,12 @@ <h4 class="{class} {positionClass}">
</h4>
</f:case>
<f:case value="5">
<h5 class="{class} {positionClass}">
<h5 class="{class} {displayClass} {positionClass}">
<f:link.typolink parameter="{link}"><span>{header}</span></f:link.typolink>
</h5>
</f:case>
<f:case value="6">
<h6 class="{class} {positionClass}">
<h6 class="{class} {displayClass} {positionClass}">
<f:link.typolink parameter="{link}"><span>{header}</span></f:link.typolink>
</h6>
</f:case>
Expand All @@ -40,6 +40,7 @@ <h6 class="{class} {positionClass}">
header: header,
layout: default,
class: class,
displayClass: displayClass,
positionClass: positionClass,
link: link}" />
</f:if>
Expand Down
Expand Up @@ -2,22 +2,22 @@
<f:if condition="{subheader}">
<f:switch expression="{layout}">
<f:case value="1">
<h2 class="{class} {positionClass}">
<h2 class="{class} {displayClass} {positionClass}">
<span><f:format.htmlspecialchars doubleEncode="false">{subheader}</f:format.htmlspecialchars></span>
</h2>
</f:case>
<f:case value="2">
<h3 class="{class} {positionClass}">
<h3 class="{class} {displayClass} {positionClass}">
<span><f:format.htmlspecialchars doubleEncode="false">{subheader}</f:format.htmlspecialchars></span>
</h3>
</f:case>
<f:case value="3">
<h4 class="{class} {positionClass}">
<h4 class="{class} {displayClass} {positionClass}">
<span><f:format.htmlspecialchars doubleEncode="false">{subheader}</f:format.htmlspecialchars></span>
</h4>
</f:case>
<f:case value="4">
<h5 class="{class} {positionClass}">
<h5 class="{class} {displayClass} {positionClass}">
<span><f:format.htmlspecialchars doubleEncode="false">{subheader}</f:format.htmlspecialchars></span>
</h5>
</f:case>
Expand All @@ -31,6 +31,7 @@ <h6 class="{class} {positionClass}">
<f:render partial="Header/SubHeader" arguments="{
subheader: subheader,
class: class,
displayClass: displayClass,
positionClass: positionClass,
layout: default}" />
</f:if>
Expand Down
2 changes: 2 additions & 0 deletions ext_tables.sql
Expand Up @@ -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',
Expand Down

0 comments on commit c37afe3

Please sign in to comment.