Mysql
 sql >> Base de données >  >> RDS >> Mysql

Typo3 V6 :Comment créer un conteneur d'éléments de contenu ? (sans télévision)

Je suis l'auteur de la suite d'extensions Fluid (flux, fluidcontent, fluidpages, etc.) et j'aimerais bien sûr vous aider à apprendre à utiliser FluidContent pour créer des FCE. Ce n'est vraiment pas aussi avancé qu'on pourrait le craindre. À tout le moins, il est beaucoup plus compact que l'exemple ci-dessus. Ce qui suit obtient le même résultat que votre exemple, dans FluidContent :

TypoScript (charge statique :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)
}

En ce qui concerne (1) vous devriez vraiment, vraiment. L'utilisation d'une extension sépare les médias téléchargés par l'utilisateur, etc. du contenu de votre site. Si vous faites cela à la place, utilisez simplement un chemin EXT:... vers le dossier des ressources privées. Et concernant (2) ces chemins ne sont nécessaires que si vous souhaitez réellement utiliser des partiels.

Ensuite, le fichier modèle lui-même (auto-détecté lorsque le chemin où se trouve le fichier est ajouté dans 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>

Comme vous pouvez le voir, vous êtes entièrement libre d'ajouter n'importe quel HTML que vous souhaitez, d'utiliser n'importe quel ViewHelpers (même de rendre des objets TS si c'est votre truc). Pour ajouter des éléments de contenu supplémentaires, ajoutez simplement de nouveaux fichiers de modèle - ils seront automatiquement reconnus.

Mais cela fonctionnera différemment d'IRRE (que vous pouvez également réaliser en utilisant les champs Flux - faites-moi savoir si vous souhaitez en voir une démo):cela vous permettra d'utiliser le glisser-déposer natif dans TYPO3 pour placer vos éléments de contenu enfant dans des conteneurs de contenu réels - comme vous le faisiez auparavant avec téléviseur.

En tant que tel, Fluid Content est probablement ce qui se rapproche le plus de la télévision.

En ce qui concerne Flux étant exagéré, j'aimerais vous donner une idée de ce qu'il effectue réellement :

  • Lecture en cache de TS pour connaître les chemins
  • Listes en cache des modèles détectés
  • Fluid met en cache le PHP natif, Flux n'utilise Fluid que pour stocker la configuration (ce qui signifie qu'il s'agit de PHP natif d'un bout à l'autre)
  • Flux lui-même enregistre un abonné hook qui réagit au contenu en cours d'enregistrement, cela ralentit le backend (imperceptiblement)
  • Flux lui-même ne crée pas de charge sur le FE à une exception :lorsqu'il est dans des plugins non mis en cache (FluidContent est mis en cache !), Flux peut faire appel au code PHP natif mis en cache pour lire les configurations.
  • FluidContent se compose d'un contrôleur extrêmement simple ; la sortie est entièrement mise en cache.
  • Vous voudrez peut-être ajouter la collection VHS ViewHelper - elle ne crée à elle seule aucune charge :elle n'utilise que les ressources là où vous utilisez ses ViewHelpers. Il contient un tas de ViewHelpers que je suis sûr que vous trouverez utiles.

Cela peut sembler écrasant au début, mais je vous garantis qu'il y a moins à savoir et à retenir que dans les plugins pibase, FlexForm XML, TS ou Extbase natifs. Si vous voulez encore plus de filet de sécurité, je vous recommande fortement d'utiliser des schémas XSD dans votre éditeur - cela vous permet de compléter automatiquement le spécial <flux:....> balises et autres.

Cependant :cela vous demandera d'apprendre un peu la logique de Fluid :ce que sont les mises en page et les partiels (vous voudrez probablement les utiliser à un moment donné) et comment utiliser les balises spéciales et faire référence aux variables (qui seront nécessaires dans d'autres cas d'utilisation - mais pas celui-ci ; il ne nécessite que de simples balises ViewHelper).

J'espère que ça aide. Et que j'ai réduit votre peur que Flux soit exagéré et qu'il y ait trop à apprendre ;)

À votre santé,
Claus alias. NamelessCoder