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

Typo3 V6:come creare un contenitore di elementi di contenuto? (senza TV)

Sono l'autore della suite di estensione Fluid (flux, fluidcontent, fluidpages ecc.) e ovviamente vorrei aiutarti a conoscere l'utilizzo di FluidContent per creare FCE. Non è davvero così avanzato come si potrebbe temere. Per lo meno, è molto più compatto dell'esempio sopra. Quanto segue ottiene lo stesso risultato del tuo esempio, in FluidContent:

TypoScript (caricato statico: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)
}

Per quanto riguarda (1) dovresti davvero, davvero. L'utilizzo di un'estensione separa i contenuti multimediali caricati dall'utente ecc. dal contenuto del tuo sito. Se invece lo fai, usa semplicemente un percorso EXT:... della cartella Risorse private. E per quanto riguarda (2) questi percorsi sono necessari solo se desideri effettivamente utilizzare i parziali.

Quindi, il file modello stesso (rilevato automaticamente quando il percorso in cui si trova il file viene aggiunto 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>

Come puoi vedere, sei completamente libero di aggiungere qualsiasi HTML desideri, utilizzare qualsiasi ViewHelper (anche renderizzare oggetti TS se questo è il tuo genere). Per aggiungere ulteriori elementi di contenuto, aggiungi semplicemente nuovi file modello:verranno automaticamente riconosciuti.

Ma funzionerà in modo diverso da IRRE (che puoi anche ottenere utilizzando i campi Flux - fammi sapere se desideri vederne una demo):ti consentirà di utilizzare il trascinamento della selezione nativo in TYPO3 per posizionare gli elementi di contenuto figlio in contenitori di contenuto reali, come facevi con la TV.

In quanto tale, Fluid Content è probabilmente il più vicino alla TV.

Considerando che Flux è eccessivo, vorrei darti un'idea di ciò che effettivamente esegue:

  • Lettura cache di TS per conoscere i percorsi
  • Elenchi memorizzati nella cache dei modelli rilevati
  • Fluid esegue la cache su PHP nativo, Flux utilizza Fluid solo per memorizzare la configurazione (il che significa che è tutto PHP nativo)
  • Il flusso stesso registra un abbonato hook che reagisce al contenuto salvato, questo rallenta il back-end (invisibilmente)
  • Il flusso stesso non crea carico sulla FE con un'eccezione:quando si trova in plug-in non memorizzati nella cache (FluidContent è memorizzato nella cache!) Flux può richiamare il codice PHP nativo memorizzato nella cache per leggere le configurazioni.
  • FluidContent consiste in un controller estremamente semplice; l'output è completamente memorizzato nella cache.
  • Puoi aggiungere la raccolta VHS ViewHelper:da sola crea un carico assolutamente zero:utilizza solo le risorse dove usi i suoi ViewHelper. Contiene un mucchio di ViewHelper che sono sicuro che troverai utili.

All'inizio può sembrare opprimente, ma ti garantisco che c'è meno da sapere e da ricordare rispetto a pibase, FlexForm XML, TS o plug-in Extbase nativi. Se desideri una rete di sicurezza ancora maggiore, ti consiglio vivamente di utilizzare gli schemi XSD nel tuo editor:questo ti consente di completare automaticamente lo speciale <flux:....> tag e altri.

Tuttavia:ti richiederà di imparare un po' sulla logica di Fluid:cosa sono i Layout e i Parziali (molto probabilmente vorrai usarli prima o poi) e come usare i tag speciali e fare riferimento alle variabili (che saranno richieste in altri casi d'uso - ma non quello a portata di mano; richiede solo semplici tag ViewHelper).

Spero che aiuti. E che ho ridotto la tua paura che Flux sia eccessivo e troppo da imparare;)

Saluti,
Claus alias. NamelessCoder