sql >> Base de Datos >  >> RDS >> Mysql

Typo3 V6:¿Cómo crear un contenedor de elementos de contenido? (sin televisor)

Soy el autor de la suite de extensiones Fluid (flux, fluidcontent, fluidpages, etc.) y, por supuesto, me gustaría ayudarlo a aprender sobre el uso de FluidContent para hacer FCE. Realmente no es tan avanzado como uno podría temer. Como mínimo, es mucho más compacto que el ejemplo anterior. Lo siguiente logra el mismo resultado que su ejemplo, en FluidContent:

TypoScript (carga estática: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)
}

Con respecto a (1) realmente, realmente deberías. El uso de una extensión separa los medios cargados por el usuario, etc., del contenido de su sitio. Si lo hace, simplemente use una ruta EXT:... a la carpeta de recursos privados. Y con respecto a (2), estas rutas solo son necesarias si realmente desea usar parciales.

Luego, el archivo de plantilla en sí (detectado automáticamente cuando la ruta donde se encuentra el archivo se agrega en 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>

Como puede ver, es totalmente libre de agregar cualquier HTML que desee, usar cualquier ViewHelpers (incluso renderizar objetos TS si eso es lo que le gusta). Para agregar elementos de contenido adicionales, simplemente agregue nuevos archivos de plantilla:se reconocerán automáticamente.

Pero funcionará de manera diferente a IRRE (que puede también logre usar campos Flux; avíseme si desea ver una demostración de eso):le permitirá usar el arrastrar y soltar nativo en TYPO3 para colocar los elementos de contenido de su hijo en contenedores de contenido reales, como solía hacer con televisión.

Como tal, Fluid Content es probablemente lo más cercano que llegará a la televisión.

Con respecto a que Flux es excesivo, me gustaría darle una idea de lo que realmente realiza:

  • Lectura en caché de TS para conocer rutas
  • Listas en caché de plantillas detectadas
  • Fluid almacena cachés en PHP nativo, Flux solo usa Fluid para almacenar la configuración (lo que significa que es PHP nativo hasta el final)
  • Flux en sí mismo registra un suscriptor gancho que reacciona al contenido que se guarda, esto ralentiza el backend (imperceptiblemente)
  • Flux en sí mismo no crea carga en el FE con una excepción:cuando está en complementos no almacenados en caché (¡FluidContent está en caché!) Flux puede llamar al código PHP nativo almacenado en caché para leer configuraciones.
  • FluidContent consiste en un controlador extremadamente simple; la salida se almacena completamente en caché.
  • Es posible que desee agregar la colección VHS ViewHelper:por sí misma crea una carga absolutamente nula:solo usa recursos donde usted usa sus ViewHelpers. Contiene un montón de ViewHelpers que estoy seguro de que encontrará útiles.

Puede parecer abrumador al principio, pero le garantizo que hay menos que saber y recordar que en pibase, FlexForm XML, TS o complementos nativos de Extbase. Si desea una red de seguridad aún mayor, le recomiendo usar esquemas XSD en su editor; esto le permite completar automáticamente el <flux:....> especial etiquetas y otros.

Sin embargo:requerirá que aprenda un poco sobre la lógica de Fluid:qué son los diseños y los parciales (lo más probable es que quiera usarlos en algún momento) y cómo usar las etiquetas especiales y hacer referencia a las variables (que se requerirán en otros casos de uso, pero no el que nos ocupa; solo requiere etiquetas ViewHelper simples).

Espero que esto ayude. Y que he reducido tu miedo de que Flux sea excesivo y demasiado que aprender;)

Saludos,
Claus alias. Codificador sin nombre