sql >> Database teknologi >  >> RDS >> Mysql

Typo3 V6:Hvordan opretter man en indholdselementcontainer? (uden tv)

Jeg er forfatter til Fluid-udvidelsespakken (flux, fluidcontent, fluidpages osv.) og vil selvfølgelig gerne hjælpe dig med at lære at bruge FluidContent til at lave FCE'er. Det er virkelig ikke så avanceret, som man kunne frygte. Det er i det mindste meget mere kompakt end eksemplet ovenfor. Følgende opnår det samme resultat som dit eksempel i FluidContent:

TypoScript (statisk indlæst: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)
}

Med hensyn til (1) burde du virkelig, virkelig. Brug af en udvidelse adskiller dine brugeruploadede medier osv. fra dit websteds indhold. Hvis du gør det i stedet, skal du blot bruge en EXT:...-sti til mappen Private ressourcer. Og angående (2) er disse stier kun nødvendige, hvis du rent faktisk ønsker at bruge partialer.

Derefter, selve skabelonfilen (automatisk detekteret, når stien, hvor filen er placeret, tilføjes i 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>

Som du kan se, er du helt fri til at tilføje enhver HTML, du ønsker, bruge enhver ViewHelpers (selv gengive TS-objekter, hvis det er din ting). For at tilføje yderligere indholdselementer skal du blot tilføje nye skabelonfiler - de vil automatisk blive genkendt.

Men det vil fungere anderledes end IRRE (som du også kan). opnå ved at bruge Flux-felter - lad mig vide, hvis du ønsker at se en demo af det):det vil give dig mulighed for at bruge det indbyggede træk-n-slip i TYPO3 til at placere dine underordnede indholdselementer i faktiske indholdsbeholdere - som du plejede at gøre med TV.

Som sådan er Fluid Content sandsynligvis det tætteste, du kommer på tv.

Med hensyn til at Flux er overkill, vil jeg gerne give dig en idé om, hvad den rent faktisk yder:

  • Cached læsning af TS for at kende stier
  • Cachelagrede lister over opdagede skabeloner
  • Væske caches til native PHP, Flux bruger kun Fluid til at gemme konfiguration (hvilket betyder, at det er native PHP hele vejen igennem)
  • Flux registrerer i sig selv en hook-abonnent, som reagerer på, at indhold gemmes, dette forsinker backend (umærkeligt)
  • Flux i sig selv skaber ikke belastning på FE med én undtagelse:i uncachede plugins (FluidContent er cachelagret!) kan Flux kalde på den oprindelige PHP-cachekode for at læse konfigurationer.
  • FluidContent består af en ekstremt simpel controller; outputtet er fuldt cachelagret.
  • Du vil måske tilføje VHS ViewHelper-samlingen - den i sig selv skaber absolut ingen belastning:den bruger kun ressourcer, hvor du bruger dens ViewHelpers. Den indeholder en bunke ViewHelpers, som jeg er sikker på, du vil finde nyttige.

Det kan se overvældende ud i starten, men jeg garanterer dig, at der er mindre at vide og huske end i pibase, FlexForm XML, TS eller native Extbase plugins. Hvis du vil have endnu mere af et sikkerhedsnet, anbefaler jeg stærkt at bruge XSD-skemaer i din editor - dette giver dig autofuldførelse af den særlige <flux:....> tags og andre.

Men:det vil kræve, at du lærer lidt om Fluids logik:hvad layouts og partialer er (du vil højst sandsynligt bruge dem på et tidspunkt), og hvordan du bruger de specielle tags og henviser til variabler (som vil være påkrævet i andre use cases - men ikke den ved hånden; det kræver kun simple ViewHelper tags).

Jeg håber det hjælper. Og at jeg har reduceret din frygt for, at Flux er overkill og for meget at lære;)

Skål,
Claus aka. NamelessCoder



  1. Log QUERIES, der ikke bruger INDEX - MySQL

  2. Indsæt den aktuelle dato i datetime-formatet mySQL

  3. MySQL (eller PHP?) grupperer resultater efter feltdata

  4. Hvordan erstatter man flere tegn i SQL?