Skip to content

Commit

Permalink
[TASK] add new content element - Button
Browse files Browse the repository at this point in the history
  • Loading branch information
dmh committed Mar 15, 2017
1 parent 1b73394 commit 4e079fa
Show file tree
Hide file tree
Showing 8 changed files with 234 additions and 3 deletions.
43 changes: 43 additions & 0 deletions Configuration/ContentElements/Button.pagets
@@ -0,0 +1,43 @@
mod.wizards.newContentElement.wizardItems.contentElements {
elements {
button {
title = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.title
description = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.description
iconIdentifier = content-elements-button
tt_content_defValues {
CType = button
}
}
}
show := addToList(button)
}

# Flexform selects
TCEFORM.tt_content.pi_flexform.button.sDEF.buttonSize {
addItems {
0 = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.buttonSize_default
btn-lg = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.buttonSize_large
btn-sm = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.buttonSize_small
btn-xs = LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.buttonSize_extraSmall
}
}

# Use layout field to customize Layout select-box on button
# extend layout select-box only for this element
TCEFORM.tt_content.layout {
types {
button {
addItems {
--div-- = Button layouts:
# add value with index 0, to set it as a default, only for this element
0 = Default
11 = Primary
12 = Success
13 = Info
14 = Warning
15 = Danger
16 = Link
}
}
}
}
32 changes: 32 additions & 0 deletions Configuration/ContentElements/Button.setupts
@@ -0,0 +1,32 @@
tt_content {
button =< lib.fluidContent
button {
templateName = Button

dataProcessing {

10 = T3kit\T3kitExtensionTools\DataProcessing\FlexFormProcessor
10 {
fieldName = pi_flexform
as = settings
}
# "inherit" from lib.fluidContent
365 < lib.fluidContent.dataProcessing.365
1910 < lib.fluidContent.dataProcessing.1910

# extend class mapping only for this element
1910 {
classMappings {
# Override the standard default
0 = btn btn-default
11 = btn btn-primary
12 = btn btn-success
13 = btn btn-info
14 = btn btn-warning
15 = btn btn-danger
16 = btn btn-link
}
}
}
}
}
35 changes: 35 additions & 0 deletions Configuration/FlexForms/flexform_button.xml
@@ -0,0 +1,35 @@
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:iconTextButton.flexform.sheetGeneral</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<buttonSize>
<TCEforms>
<label>LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.buttonSize</label>
<config>
<type>select</type>
<items>
</items>
</config>
</TCEforms>
</buttonSize>
<blockLevel>
<TCEforms>
<label>LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:button.blockLevel</label>
<config>
<type>check</type>
</config>
</TCEforms>
</blockLevel>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
41 changes: 38 additions & 3 deletions Configuration/TCA/Overrides/tt_content.php
Expand Up @@ -224,15 +224,26 @@
'heroImage',
'content-elements-heroImage'
],
'copyrightText',
'contacts',
'after'
);
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['heroImage'] = 'content-elements-heroImage';





// "button"
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
$contentElementLanguageFilePrefix . 'button.title',
'button',
'content-elements-button'
],
'heroImage',
'after'
);
$GLOBALS['TCA']['tt_content']['ctrl']['typeicon_classes']['button'] = 'content-elements-button';


// The "divider" these content elements
Expand Down Expand Up @@ -570,6 +581,26 @@
$GLOBALS['TCA']['tt_content']['types']['heroImage']['columnsOverrides']['bodytext']['config']['type'] = 'input';


// "button"
$GLOBALS['TCA']['tt_content']['types']['button'] = [
'showitem' => '
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
header;' . $contentElementLanguageFilePrefix . 'button.header_label,
--linebreak--, header_link;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_link_formlabel,
--linebreak--,pi_flexform;' . $contentElementLanguageFilePrefix . 'tt_content.tabs.settings,
--div--;' . $frontendLanguageFilePrefix . 'tabs.appearance,
--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,
--palette--;' . $frontendLanguageFilePrefix . 'palette.appearanceLinks;appearanceLinks,
--div--;' . $frontendLanguageFilePrefix . 'tabs.access,
hidden;' . $frontendLanguageFilePrefix . 'field.default.hidden,
--palette--;' . $frontendLanguageFilePrefix . 'palette.access;access,
--div--;' . $frontendLanguageFilePrefix . 'tabs.extended
'
];


//
// Flexforms
//
Expand Down Expand Up @@ -600,6 +631,10 @@
// "contentElementSocialIcons"
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds']['*,socialIcons'] = 'FILE:EXT:theme_t3kit/Configuration/FlexForms/flexform_socialIcons.xml';

// "button"
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds']['*,button'] = 'FILE:EXT:theme_t3kit/Configuration/FlexForms/flexform_button.xml';


// Add additional fields for tt_content
$additionalColumns = [
'wrapper' => [
Expand Down
30 changes: 30 additions & 0 deletions Resources/Private/Language/ContentElements.xlf
Expand Up @@ -430,6 +430,36 @@
<trans-unit id="socialIcons.flexform.youtubeLink">
<source>Youtube: Pagelink</source>
</trans-unit>



<trans-unit id="button.title">
<source>Button</source>
</trans-unit>
<trans-unit id="button.description">
<source>A button with twbs style</source>
</trans-unit>
<trans-unit id="button.header_label">
<source>Button text</source>
</trans-unit>
<trans-unit id="button.buttonSize">
<source>Button Size</source>
</trans-unit>
<trans-unit id="button.buttonSize_default">
<source>Default</source>
</trans-unit>
<trans-unit id="button.buttonSize_large">
<source>Large</source>
</trans-unit>
<trans-unit id="button.buttonSize_small">
<source>Small</source>
</trans-unit>
<trans-unit id="button.buttonSize_extraSmall">
<source>Extra small</source>
</trans-unit>
<trans-unit id="button.blockLevel">
<source>Block level button</source>
</trans-unit>
</body>
</file>
</xliff>
14 changes: 14 additions & 0 deletions Resources/Private/Templates/ContentElements/Button.html
@@ -0,0 +1,14 @@
<div xmlns="http://www.w3.org/1999/xhtml" lang="en" xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">

<f:layout name="ContentFooter" />

<f:section name="content">
<!-- theme_t3kit: Templates/CustomContentElements/Button.html [begin] -->
<f:if condition="{data.header_link}">
<f:link.typolink parameter="{data.header_link}" class="{layoutClass}{f:if(condition: settings.buttonSize, then: ' {settings.buttonSize}')}{f:if(condition: settings.blockLevel, then: ' btn-block')}">{data.header}</f:link.typolink>
</f:if>
<!-- theme_t3kit: Templates/CustomContentElements/Button.html [end] -->
</f:section>

</div>

40 changes: 40 additions & 0 deletions Resources/Public/Icons/ContentElements/customElement.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions ext_tables.php
Expand Up @@ -19,6 +19,8 @@
'content-elements-socialIcons' => 'socialIcons.svg',
'content-elements-copyrightText' => 'copyrightText.svg',
'content-elements-contacts' => 'contacts.svg',
'content-elements-button' => 'customElement.svg',
'content-elements-heroImage' => 'slider.svg',
'content-center-vertical-text-img-left' => 'content-center-vertical-text-img-left.svg',
'content-center-vertical-text-img-right' => 'content-center-vertical-text-img-right.svg',
];
Expand Down

0 comments on commit 4e079fa

Please sign in to comment.