Your SlideShare is downloading. ×
FCE ohne TemplaVoila
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

FCE ohne TemplaVoila

28,731
views

Published on

Wie macht man FCEs ohne TemplaVoila - sondern mit extbase/fluid.

Wie macht man FCEs ohne TemplaVoila - sondern mit extbase/fluid.

Published in: Technology, Business

5 Comments
18 Likes
Statistics
Notes
  • Ich hatte vor einer Weile mal eine Beispiel-Erweiterung erstellt die 6.x kompatibel ist: https://github.com/tliegl/contentelements
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Danke für das Tutorial, sieht im Backend alles gut aus. Allerdings kriege ich im Frontend eine Fehlermeldung:

    Call to undefined method TYPO3\CMS\Extbase\Mvc\Web\Request::getContentObjectData()

    Hier (http://wiki.typo3.org/Extbase_HowTos) ist die Rede von deprecated (TYPO3 6.2.3) - ich kriege es mit der Alternative aber nicht zum laufen...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Look at Mask:
    http://www.startnext.de/mask
    http://www.typo3experten.com/programmierung/mask.html (only german)
    Please support us and share our links!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Always getting the following error:
    ERROR: Content Element type 'contentelements_contactbox' has no rendering definition!
    what's wrong?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Great!
    But how can I adapt the TypoScript for e.g. the Image ?
    tt_content.contentelements_contactbox.image.... ??
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
28,731
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
5
Likes
18
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. FCE OHNE TEMPLAVOILATOBIAS LIEGL – TYPO3CAMP MÜNCHEN 2011
  • 2. 02FCE OHNE TEMPLAVOILAINHALT• Was ist TemplaVoila?• Was sind FCEs?• FCE mit extbase/fluid• multicolumn• fedext
  • 3. 03FCE OHNE TEMPLAVOILAWER BIN ICH?• Tobias Liegl• JANDA+ROSCHER aus Regensburg• www.janda-roscher.de• schreibt auf typo3blogger.de
  • 4. 04FCE OHNE TEMPLAVOILA – TEMPLAVOILA?TEMPLAVOILA?• Alternativer Template-Mechanismus• Templates können in der Regel ohne Anpassung integriert werden
  • 5. 05FCE OHNE TEMPLAVOILA – TEMPLAVOILA?
  • 6. 06FCE OHNE TEMPLAVOILA – TEMPLAVOILA?
  • 7. 07FCE OHNE TEMPLAVOILA – FCE?FCE?• Flexible Content Element• Wird in der Regel verwendet für • besondere Inhaltselemente • mehrspaltige Container
  • 8. 08FCE OHNE TEMPLAVOILA – FCE?
  • 9. 09FCE OHNE TEMPLAVOILA – FCE?
  • 10. INHALTSELEMENTE„ADVANCED“
  • 11. 11FCE 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. 12FCE 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. 13FCE 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. 14FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“MÖGLICHKEITEN MIT STANDARD-ELEMENTEN• Layout • über TS unterscheidbar und Output entsprechend steuerbar
  • 15. 15FCE OHNE TEMPLAVOILA – INHALTSELEMENTE „ADVANCED“LAYOUT
  • 16. FCE MIT EXTBASE/FLUID
  • 17. 17FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
  • 18. 18FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID• EXT:extension_builder installieren
  • 19. 19FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID• Domain Modelling wählen• Extension-Infos angeben• Personen-Daten angeben• Speichern
  • 20. 20FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID/ext_tables.php// Fügt Element im Backend hinzu// Titel, tt_content Eintrag, Content Type (kein Plugin)t3lib_extMgm::addPlugin(array(Ansprechpartner,contentelements_contactbox), CType);// Felder konfigurieren$TCA[tt_content][types][contentelements_contactbox][showitem] =CType;;4;button;1-1-1, header, bodytext;;9;richtext:rte_transform[flag=rte_enabled|mode=ts_css];, image, --div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access,starttime, endtime, fe_group;Dokumentation:http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/4/2/#id4255417
  • 21. 21FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
  • 22. 22FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
  • 23. 23FCE 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. 24FCE 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); } } ?>
  • 25. 25FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID/Resources/Private/Templates/Elements/Contactbox.html <div class="contactbox"> <h4>{data.header}</h4> <f:if condition="{data.image}"> <f:image src="uploads/pics/{data.image}" alt="" width="76" /> </f:if> <f:format.html>{data.bodytext}</f:format.html> </div>
  • 26. 26FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUIDPage TS # render content element selection in tabs mod.wizards.newContentElement.renderMode = tabs mod.wizards.newContentElement.wizardItems.common { elements.contentelements_contactbox { icon = gfx/c_wiz/user_defined.gif title = Ansprechpartner description = Ansprechpartner mit Bild tt_content_defValues { CType = contentelements_contactbox } } show := addToList(contentelements_contactbox) }
  • 27. 27FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID
  • 28. 28FCE 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. 29FCE 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. 30FCE 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. 31FCE OHNE TEMPLAVOILA – FCE MIT EXTBASE/FLUID/Configuration/FlexForms/flexform_contactbox.xmlVariablen im Flexform mit „settings.“ bezeichnenwg. einfacher Verwendung in Fluid Templates <settings.products type="array">Template anpassenVariablen im Flexform mit „settings.“ können in Fluid Templatesdirekt wieder mit „settings.“ abgegriffen werden <f:for each="{settings.products}" as="productContainer">
  • 32. ALTERNATIVE FÜRMEHRSPALTIGE CONTAINER
  • 33. 33FCE OHNE TEMPLAVOILA – EXT:MULTICOLUMN
  • 34. 34FCE OHNE TEMPLAVOILA – EXT:MULTICOLUMN
  • 35. 35FCE OHNE TEMPLAVOILA – EXT:MULTICOLUMN
  • 36. 36FCE OHNE TEMPLAVOILA – EXT:MULTICOLUMN• Auswahl der Mehrspalter in einem Element• Konfiguration über TypoScript• HTML-Output frei konfigurierbar
  • 37. EXT:FEDEXT
  • 38. 38FCE 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
  • 39. 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