03
FCE OHNE TEMPLAVOILA
WER BIN ICH?
• Tobias Liegl
• JANDA+ROSCHER aus Regensburg
• www.janda-roscher.de
• schreibt auf typo3blogger.de
04
FCE OHNE TEMPLAVOILA – TEMPLAVOILA?
TEMPLAVOILA?
• Alternativer Template-Mechanismus
• Templates können in der Regel ohne
Anpassung integriert werden
11
FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“
MÖGLICHKEITEN MIT STANDARD-ELEMENTEN
• Einrückung und Rahmen
• über TS konfigurierbar
• z. B. zus. DIV um bestehenden HTML-Code
12
FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“
EINRÜCKUNG UND RAHMEN
# Im PageTS
TCEFORM.tt_content.section_frame {
addItems.2 = Produkt-Element (Bilder mit Rahmen)
addItems.3 = Teaser-Box gelb (Startseite)
addItems.10 = Teaser-Box blau (Startseite)
# remove additional options
removeItems = 1, 4, 5, 6 , 11, 12, 20, 21
}
13
FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“
EINRÜCKUNG UND RAHMEN
# Im TS-Setup
tt_content.stdWrap.innerWrap.cObject.2 = TEXT
tt_content.stdWrap.innerWrap.cObject.2.value = <div class="productBox">|</div>
tt_content.stdWrap.innerWrap.cObject.3 = TEXT
tt_content.stdWrap.innerWrap.cObject.3.value = <div class="teaserBox">|</div>
tt_content.stdWrap.innerWrap.cObject.10 = TEXT
tt_content.stdWrap.innerWrap.cObject.10.value = <div class="teaserBoxAlt">|</div>
14
FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“
MÖGLICHKEITEN MIT STANDARD-ELEMENTEN
• Layout
• über TS unterscheidbar und Output
entsprechend steuerbar
23
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
/ext_localconf.php
<?php
if (!defined ('TYPO3_MODE')) {
die ('Access denied.');
}
Tx_Extbase_Utility_Extension::configurePlugin(
// unique plugin name
$_EXTKEY,
'ContentRenderer',
// accessible controller-action-combinations
array ( 'Elements' => 'contactbox' ),
// non-cachable controller-action-combinations (they must already be enabled)
array ( 'Elements' => '' )
);
t3lib_extMgm::addTypoScript($_EXTKEY,'setup',
'[GLOBAL]
tt_content.contentelements_contactbox < tt_content.list.20.contentelements_contentrenderer
tt_content.contentelements_contactbox.switchableControllerActions.Elements.1 = contactbox',
true
);
?>
24
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
/Classes/Controller/ElementsController.php
<?php
/**
* Elements Controller
*/
class Tx_Contentelements_Controller_ElementsController extends
Tx_Extbase_MVC_Controller_ActionController {
/**
* Displays the element
*
* @return string The rendered view
*/
public function contactboxAction() {
// get data of the content object
$data = $this->request->getContentObjectData();
// assign the data to the fluid template
$this->view->assign('data', $data);
}
}
?>
28
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
• Neues Element hinzufügen
• ext_tables.php anpassen
• Methode im Controller duplizieren
• Template anlegen
• ext_localconf.php anpassen
• PageTS anpassen
29
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
• Vorteile
• geht relativ schnell
• Kontrolle über HTML-Code
• Templates mit Fluid
• Inhaltselement einfach auswählbar
• Typ des Inhaltselements einfach zu wechseln
30
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
/ext_tables.php um FlexForm erweitern
$TCA['tt_content']['columns']['pi_flexform']['config']['ds']
[',contentelements_contactbox'] = 'FILE:EXT:'.$_EXTKEY.'/Configuration/
FlexForms/flexform_contactbox.xml';
31
FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
/Configuration/FlexForms/flexform_contactbox.xml
Variablen im Flexform mit „settings.“ bezeichnen
wg. einfacher Verwendung in Fluid Templates
<settings.products type="array">
Template anpassen
Variablen im Flexform mit „settings.“ können in Fluid Templates
direkt wieder mit „settings.“ abgegriffen werden
<f:for each="{settings.products}" as="productContainer">
38
FCE OHNE TEMPLAVOILA – EXT:FEDEXT
• Baut auf extbase/fluid auf
• Möglichkeit zur Erstellung von FCEs
• „Content Columns“ für mehrspaltige Elemente
• Dokumentation unter: http://fedext.net
HAT´S GESCHMECKT?
MEHR KREATIVE IDEEN AUCH ZUM MITNEHMEN.
JANDA + ROSCHER
GmbH & Co. KG
Roritzerstraße 10 b
93047 Regensburg
Fon +49.941.595600
Fax +49.941.5956010
info@janda-roscher.de
www.janda-roscher.de