Ik ben de auteur van de Fluid-uitbreidingssuite (flux, fluidcontent, fluidpages etc.) en wil je natuurlijk graag helpen meer te weten te komen over het gebruik van FluidContent om FCE's te maken. Het is echt niet zo geavanceerd als men zou kunnen vrezen. Het is in ieder geval veel compacter dan het voorbeeld hierboven. Het volgende bereikt hetzelfde resultaat als uw voorbeeld, in FluidContent:
TypoScript (statisch geladen:css_styled_content, fluid_content)
plugin.tx_fed.fce.yourname {
templateRootPath = fileadmin/Templates # if you don't want to use an extension (1)
# partial and layout root paths not defined (2)
}
Wat betreft (1) zou je dat echt, echt moeten doen. Het gebruik van een extensie scheidt de door de gebruiker geüploade media enz. van de inhoud van uw site. Als u dat in plaats daarvan doet, gebruikt u gewoon een EXT:...-pad naar de map Privébronnen. En met betrekking tot (2) zijn deze paden alleen nodig als je echt partiëlen wilt gebruiken.
Vervolgens wordt het sjabloonbestand zelf (automatisch gedetecteerd wanneer het pad waar het bestand zich bevindt wordt toegevoegd in TS):
{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
<flux:flexform id="columns" label="Columns" icon="path/to/iconfile.jpg">
<flux:flexform.grid>
<flux:flexform.grid.row>
<flux:flexform.grid.column>
<flux:flexform.content name="left" label="Left content" />
</flux:flexform.grid.column>
<flux:flexform.grid.column>
<flux:flexform.content name="right" label="Right content" />
</flux:flexform.grid.column>
</flux:flexform.grid.row>
</flux:flexform.grid>
</flux:flexform>
</f:section>
<f:section name="Preview">
<flux:widget.grid />
</f:section>
<f:section name="Main">
<div class="row">
<div class="span6">
<flux:flexform.renderContent area="left" />
</div>
<div class="span6">
<flux:flexform.renderContent area="right" />
</div>
</div>
</f:section>
Zoals u kunt zien, bent u geheel vrij om elke gewenste HTML toe te voegen, en om het even welke ViewHelpers te gebruiken (zelfs TS-objecten renderen als dat uw ding is). Om extra inhoudselementen toe te voegen, voegt u eenvoudig nieuwe sjabloonbestanden toe - ze worden automatisch herkend.
Maar het zal anders werken dan IRRE (wat je ook . kunt doen) bereiken met Flux-velden - laat het me weten als je daar een demo van wilt zien):het stelt je in staat om de native drag-n-drop in TYPO3 te gebruiken om je onderliggende inhoudselementen in daadwerkelijke inhoudscontainers te plaatsen - zoals je vroeger deed met tv.
Als zodanig is Fluid Content waarschijnlijk het dichtst bij tv.
Omdat Flux overdreven is, wil ik je een idee geven van wat het eigenlijk doet:
- Lezen van TS in cache om paden te kennen
- Gecachte lijsten met gedetecteerde sjablonen
- Fluid cachet naar native PHP, Flux gebruikt Fluid alleen om de configuratie op te slaan (wat betekent dat het volledig native PHP is)
- Flux zelf registreert wel een hook-abonnee die reageert op het opslaan van inhoud, dit vertraagt de backend (onmerkbaar)
- Flux zelf veroorzaakt geen belasting op de FE met één uitzondering:in plug-ins zonder cache (FluidContent wordt in de cache opgeslagen!) kan Flux een beroep doen op de native PHP-code in de cache om configuraties te lezen.
- FluidContent bestaat uit een uiterst eenvoudige controller; de uitvoer is volledig in de cache opgeslagen.
- Misschien wilt u de VHS ViewHelper-collectie toevoegen - deze creëert op zichzelf absoluut geen belasting:het gebruikt alleen bronnen waar u de ViewHelpers gebruikt. Het bevat een hoop ViewHelpers waarvan ik zeker weet dat je ze nuttig zult vinden.
In het begin lijkt het misschien overweldigend, maar ik garandeer je dat er minder te weten en te onthouden is dan in pibase, FlexForm XML, TS of native Extbase-plug-ins. Als je nog meer van een vangnet wilt, raad ik je ten zeerste aan om XSD-schema's in je editor te gebruiken - hierdoor wordt de speciale <flux:....>
automatisch aangevuld. tags en anderen.
U moet echter een klein beetje leren over de logica van Fluid:wat lay-outs en partiëlen zijn (u zult die waarschijnlijk ooit willen gebruiken) en hoe u de speciale tags gebruikt en naar variabelen verwijst (die vereist zijn in andere gebruiksgevallen - maar niet degene die voorhanden is; het vereist alleen eenvoudige ViewHelper-tags).
Ik hoop dat dit helpt. En dat ik je angst heb verminderd dat Flux overdreven is en te veel om te leren;)
Proost,
Claus alias. NamelessCoder