News
Installation
Extension installieren und die TS Konfigurationen inkludieren.
Erweitern mit eigenen Templates
Um die eigenen Templates zu verwenden folgendes in constants.typoscript
plugin.tx_news {
view {
# cat=plugin.tx_news/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:rsystemplate_bootstrap/Resources/Private/Templates/Plugins/News/
# cat=plugin.tx_news/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:rsystemplate_bootstrap/Resources/Private/Partials/Plugins/News/
# cat=plugin.tx_news/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:rsystemplate_bootstrap/Resources/Private/Layouts/Plugins/News/
}
settings {
# cat=plugin.tx_news/file; type=string; label=Path to CSS file
cssFile >
}
}
und in das setup.typoscript dann:
# ==============================================
# FE-Plugin configuration for EXT:news
# ==============================================
plugin.tx_news {
mvc.callDefaultActionIfActionCantBeResolved = 1
features.requireCHashArgumentForActionArguments = 0
view {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = {$plugin.tx_news.view.templateRootPath}
}
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = {$plugin.tx_news.view.partialRootPath}
}
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = {$plugin.tx_news.view.layoutRootPath}
}
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = {$plugin.tx_news.view.templateRootPath}
}
}
Auswahl
Um der Auswahl von Templates eigene hinzuzufügen in PageTS Configuration/TsConfig/Page/TCEMAIN.tsconfig folgendes konfigurieren:
tx_news.templateLayouts {
0 = --div--, Listenansicht Standard
default = Standard: Einfache Liste - Erstes Bild links je nach 'Zeige in Ansichten'
default_img_left = Standard: Einfache Liste - Erstes Bild links'
default_right = Standard: Einfache Liste - Erstes Bild rechts je nach 'Zeige in Ansichten'
default_img_right = Standard: Einfache Liste - Erstes Bild rechts'
1 = --div--, Listenansicht Speziel
list_card = Liste mit Kacheln in 2 bis 4 Spalten
list_slider = Slider
list_slickslider = Slick Slider
list_detail_slide = Liste mit Details aufklappbar
2 = --div--, Detailansicht
detail = Bilder links je nach 'Zeige in Ansichten'
detail_img_left = Bilder links'
detail_right =Bilder rechts je nach 'Zeige in Ansichten'
detail_img_right = Bilder rechts'
5 = Spezial Aktuelles, Teaser Kacheln, Spezial Kurzmeldungen, Letzte Newsmeldung in Detailansicht,Teaser Kacheln
}
Im List Template kann man dann für dieses neue Template das Aussehen konfigurieren. Hier kombiniert mit dem neuen Feld settings.rsys.cols von weiter unten auf dieser Seite:
<f:switch expression="{settings.templateLayout}">
<f:case value="list_card">
<f:variable name="cols" value="{f:if(condition: settings.rsys.cols, then: settings.rsys.cols, else: 2)}" />
<div class="card-group-element card-group-element-align-left card-group-element-columns-{cols}">
<f:for each="{news}" as="newsItem" iteration="iterator">
<f:render partial="List/ItemCard" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</div>
</f:case>
</f:switch>
Erweitern mit eigenen Konfigurations Feldern
Um eigene Darstellung von News - z.B. mit SlickSlider - zu realisieren, braucht es weitere Konfigurations Optionen. Dazu legt man ein eigene Flexform an. Diese ist zunächst eine Kopie der News Flexfrom Configuration/FlexForms/flexform_news.xml und wird wie folgt registriert in der Configuration/TCA/Overrides/tt_content.php:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
'news_pi1',
'FILE:EXT:rsystemplate_bootstrap/Configuration/FlexForms/Plugins/News/flexform_news.xml'
);
Dann fügt man die gewünschten Felder ein, hier ein Beispiel einer Anzahl von Spalten:
<!-- Template Layout -->
<settings.rsys.cols>
<TCEforms>
<label>Spalten (für Liste mit Kacheln)</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">---</numIndex>
<numIndex index="1"></numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">2 Spalten</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">3 Spalten</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">4 Spalten</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
</items>
<default>3</default>
</config>
</TCEforms>
</settings.rsys.cols>
Navigation / Breadcrumbs
Um in den Breadcrumbs den News Titel bei der Detailansicht anzuzeigen kann man seine Navigation erweitern durch Erweitern (31.) des eigenen MenuProcessors(30.):
30 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
30 {
special = rootline
special.range = 0|-1
includeNotInMenu = 0
as = breadcrumb
if {
value = {$page.theme.breadcrumb.enableLevel}
value {
insertData = 1
prioriCalc = 1
stdWrap.wrap = |-1
}
isGreaterThan {
data = level
}
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = nav_icon
as = icon
}
}
}
31 = GeorgRinger\News\DataProcessing\AddNewsToMenuProcessor
31.menus = breadcrumb