Skip to content

Commit

Permalink
[FEATURE] add possibility to change link text, and appearance for eac…
Browse files Browse the repository at this point in the history
…h slide (Podio feature_54) (#114)

Need to compare database.
Depends on t3kit_extension_tools "ArrayKeyValueViewHelper".
  • Loading branch information
mesosa authored and dmh committed Jan 24, 2017
1 parent 239adcd commit 476eb90
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 2 deletions.
10 changes: 10 additions & 0 deletions Configuration/ContentElements/Slider.pagets
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,13 @@ TCEFORM.tt_content.pi_flexform.contentElementSlider.sDEF.captionAlign {
# }
# }
# }


# # This is for adding options in the selectbox in each slide.
# TCEFORM.sys_file_reference.tx_themet3kit_slide_appearance {
# addItems {
# --div-- = Slider slide appearances:
# 10 = Light text and right aligned text area
# 20 = Dark text and centered aligned text area
# }
# }
5 changes: 5 additions & 0 deletions Configuration/ContentElements/Slider.setupts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ tt_content {
settings {
defaultWidth = 1920c
# defaultHeight = 400c
# appearance {
# # Extend appearance for each slide for this element
# 10 = example-class
# 20 = example-class
# }
}
}
}
44 changes: 44 additions & 0 deletions Configuration/TCA/Overrides/sys_file_reference.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php
defined('TYPO3_MODE') or die();

call_user_func(function() {

$contentElementLanguageFilePrefix = 'LLL:EXT:theme_t3kit/Resources/Private/Language/ContentElements.xlf:';
$frontendLanguageFilePrefix = 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:';
$cmsLanguageFilePrefix = 'LLL:EXT:cms/locallang_ttc.xlf:';

// Add additional fields for tt_content
$additionalColumns = [
'tx_themet3kit_slide_appearance' => [
'exclude' => true,
'label' => $contentElementLanguageFilePrefix . 'tt_content.wrapper',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[$contentElementLanguageFilePrefix . 'label.default', 0]
],
'default' => 0
]
],
'tx_themet3kit_slide_btn_txt' => [
'exclude' => 0,
'label' => $contentElementLanguageFilePrefix . 'slider.link.text',
'config' => [
'type' => 'input',
'size' => 60,
'eval' => 'trim',
]
]
];

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_file_reference', $additionalColumns);
});



// add special news palette
$GLOBALS['TCA']['sys_file_reference']['palettes']['sliderPalette'] = [
'showitem' => 'tx_themet3kit_slide_appearance,tx_themet3kit_slide_btn_txt',
'canNotCollapse' => true
];
10 changes: 10 additions & 0 deletions Configuration/TCA/Overrides/tt_content.php
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,16 @@
'
];

// Override foreign_types for contentElementSlider so we can add a custom palette
// columnsOverrides doens't seem to be correct if irre children are collapsed when tt_content record is opened
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['appearance']['collapseAll'] = 0;
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'] = '--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;sliderPalette, --palette--;;imageoverlayPalette, --palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['1']['showitem'] = $GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'];
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['2']['showitem'] = $GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'];
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['3']['showitem'] = $GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'];
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['4']['showitem'] = $GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'];
$GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['5']['showitem'] = $GLOBALS['TCA']['tt_content']['types']['contentElementSlider']['columnsOverrides']['image']['config']['foreign_types']['0']['showitem'];

// "contentElementBootstrapSlider"
$GLOBALS['TCA']['tt_content']['types']['contentElementBootstrapSlider'] = [
'showitem' => '
Expand Down
3 changes: 3 additions & 0 deletions Resources/Private/Language/ContentElements.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@
<source>Right align</source>
</trans-unit>

<trans-unit id="slider.link.text">
<source>Link text</source>
</trans-unit>
<trans-unit id="bootstrap.slider.tabs.slides">
<source>Slides</source>
</trans-unit>
Expand Down
13 changes: 11 additions & 2 deletions Resources/Private/Templates/ContentElements/Slider.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{namespace xtools=T3kit\T3kitExtensionTools\ViewHelpers}
<div xmlns="http://www.w3.org/1999/xhtml" lang="en" xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">

<f:layout name="ContentFooter" />
Expand All @@ -13,7 +14,7 @@
<div class="swiper-wrapper img-slider__wrp">
<!-- <div class=" img-slider__wrp"> -->
<f:for each="{slides}" as="image">
<div class="swiper-slide img-slider__slide">
<div class="swiper-slide img-slider__slide {xtools:get.arrayKeyValue(array: settings.appearance, key: image.referenceProperties.tx_themet3kit_slide_appearance)}">
<div data-background="{f:uri.image(src: '{image.uid}', treatIdAsReference:"1", width:'{f:if(condition: data.imagewidth, then: data.imagewidth, else: settings.defaultWidth)}')}" class="swiper-lazy img-slider__slide-bg">
<div class="swiper-lazy-preloader"></div>
<div class="img-slider__caption {f:if(condition: '{settings.captionAlign} == 0', then: '_left-align')}{f:if(condition: '{settings.captionAlign} == 1', then: '_center-align')}{f:if(condition: '{settings.captionAlign} == 2', then: '_right-align')}">
Expand All @@ -27,7 +28,14 @@ <h2 class="img-slider__caption-header">{image.referenceProperties.title}</h2>
<p class="img-slider__caption-p js__img-slider__caption-p">{image.referenceProperties.description}</p>
</f:if>
<f:if condition="{image.referenceProperties.link}">
<f:link.typolink parameter="{image.referenceProperties.link}" class="img-slider__caption-link"><f:translate key="contentElement.slider.linkText" extensionName="theme_t3kit" /></f:link.typolink>
<f:if condition="{image.referenceProperties.tx_themet3kit_slide_btn_txt}">
<f:then>
<f:link.typolink parameter="{image.referenceProperties.link}" class="img-slider__caption-link">{image.referenceProperties.tx_themet3kit_slide_btn_txt}</f:link.typolink>
</f:then>
<f:else>
<f:link.typolink parameter="{image.referenceProperties.link}" class="img-slider__caption-link"><f:translate key="contentElement.slider.linkText" extensionName="theme_t3kit" /></f:link.typolink>
</f:else>
</f:if>
</f:if>
</div>
</div>
Expand All @@ -47,3 +55,4 @@ <h2 class="img-slider__caption-header">{image.referenceProperties.title}</h2>
<!-- theme_t3kit: Templates/ContentElements/Slider.html [end] -->
</f:section>
</div>

8 changes: 8 additions & 0 deletions ext_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ CREATE TABLE tt_content (
wrapper_margin_top int(11) unsigned DEFAULT '0' NOT NULL,
wrapper_margin_bottom int(11) unsigned DEFAULT '0' NOT NULL
);

#
# Add show in preview to file reference
#
CREATE TABLE sys_file_reference (
tx_themet3kit_slide_btn_txt varchar(255) DEFAULT '' NOT NULL,
tx_themet3kit_slide_appearance int(11) unsigned DEFAULT '0' NOT NULL
);

0 comments on commit 476eb90

Please sign in to comment.