sql >> Databasteknik >  >> RDS >> Mysql

Typo3 V6:Hur skapar man en innehållselementbehållare? (utan tv)

Jag är författaren till Fluid extension suite (flux, fluidcontent, fluidpages etc.) och skulle naturligtvis vilja hjälpa dig att lära dig hur du använder FluidContent för att göra FCE. Det är verkligen inte så avancerat som man kan frukta. Åtminstone är det mycket mer kompakt än exemplet ovan. Följande ger samma resultat som ditt exempel, i FluidContent:

TypoScript (statiskt laddat: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)
}

Angående (1) borde du verkligen, verkligen. Genom att använda ett tillägg separeras ditt användaruppladdade media etc. från ditt webbplatsinnehåll. Om du gör det istället, använd helt enkelt en EXT:... sökväg till mappen Private resources. Och angående (2) är dessa vägar endast nödvändiga om du faktiskt vill använda partialer.

Sedan, själva mallfilen (upptäcks automatiskt när sökvägen där filen finns läggs till 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 är du helt fri att lägga till vilken HTML du vill, använda valfri ViewHelpers (även rendera TS-objekt om det är din grej). För att lägga till ytterligare innehållselement, lägg helt enkelt till nya mallfiler - de kommer automatiskt att kännas igen.

Men det kommer att fungera annorlunda än IRRE (vilket du kan också uppnå genom att använda Flux-fält - låt mig veta om du vill se en demo av det):det ger dig möjlighet att använda den inbyggda dra-n-släppen i TYPO3 för att placera dina barninnehållselement i faktiska innehållsbehållare - som du brukade göra med TV.

Som sådan är Fluid Content förmodligen det närmaste du kommer TV.

Angående att Flux är överdrivet, skulle jag vilja ge dig en uppfattning om vad den faktiskt presterar:

  • Cachad läsning av TS för att känna till vägar
  • Cachade listor över upptäckta mallar
  • Flytande cachar till inbyggt PHP, Flux använder bara Fluid för att lagra konfiguration (vilket betyder att det är inbyggt PHP hela vägen igenom)
  • Flux själv registrerar en hook-prenumerant som reagerar på att innehåll sparas, detta saktar ner backend (omärkbart)
  • Flux i sig skapar inte belastning på FE med ett undantag:när det finns okachade plugins (FluidContent är cachad!) kan Flux anropa den inbyggda PHP-cachade koden för att läsa konfigurationer.
  • FluidContent består av en extremt enkel kontroller; utgången är helt cachad.
  • Du kanske vill lägga till VHS ViewHelper-samlingen - den i sig själv skapar absolut noll belastning:den använder bara resurser där du använder dess ViewHelpers. Den innehåller en hög med ViewHelpers som jag är säker på att du kommer att ha nytta av.

Det kan se överväldigande ut till en början men jag garanterar dig att det finns mindre att veta och komma ihåg än i pibase, FlexForm XML, TS eller inbyggda Extbase-plugins. Om du vill ha ännu mer av ett skyddsnät rekommenderar jag starkt att du använder XSD-scheman i din editor - detta ger dig autokomplettering av den speciella <flux:....> taggar och andra.

Men:det kommer att kräva att du lär dig lite om Fluids logik:vad layouter och partialer är (du kommer troligen att vilja använda dem någon gång) och hur du använder specialtaggarna och hänvisar till variabler (som kommer att krävas i andra användningsfall - men inte det aktuella, det kräver bara enkla ViewHelper-taggar).

Jag hoppas det här hjälper. Och att jag har minskat din rädsla för att Flux är överdrivet och för mycket att lära sig;)

Skål,
Claus aka. NamelessCoder



  1. Hur läser man bilder från MySQL-databas med PHP?

  2. Hur man jämför datetime med endast datum i SQL Server

  3. Rätt verktyg gör att trimningen fungerar snabbt

  4. Hur man ställer in måndag som första veckodag i SQL Server