Templating

This extension uses Extbase / Fluid default functionality for templating, even though, there is come custom configuration to handle gallery types.

So by default, TYPO3 will search in the default template root path of the extension: EXT:generic_gallery/Resources/Private/Templates/GalleryCollection/Show.html

If you change the template path like this: plugin.tx_genericgallery.view.templateRootPaths.0 = EXT:my_extension/Resources/Private/Templates/GenericGallery/, TYPO3 will search for EXT:my_extension/Resources/Private/Templates/GenericGallery/GalleryCollection/Show.html.

How to configure the template file for each gallery type

This extension allows to define multiple gallery types. Each gallery type needs a custom template file. To accomplish this, there are two TypoScript settings: template and templateItem (used for the item detail view)

You can change the path for each gallery type by using the following TS: plugin.tx_genericgallery.settings.gallery.myGalleryType.template = EXT:my_extension/Resources/Private/Templates/SomeFolder/SomeFile.html

See the example TypoScript files for more info!

Tip

When using more than one gallery type, you should always use template (and templateItem) TS settings in order to configure the template file for each gallery type!

Available variables

  • uid: current plugin content element UID (localized)

  • galleryType: current plugin gallery type (single, images, collection)

  • data.content: current plugin content element data

  • data.page: current page data

  • data.pageLayout: current page layout

  • data.pageBackendLayout: current page backend layout

  • item: Single image item in detail view

  • collection: Image collection array in list view

ViewHelpers

ForGroup

A pair of ViewHelpers to assist you when building groups of items.

Example

<f:for each="{color1: 'red', color2: 'green', color3: 'blue', color4: 'yellow'}" as="item" iteration="iterator">
        <gg:forGroup.begin iteration="{iterator}" max="2">
                <ul class="colors">
        </gg:forGroup.begin>

        <li class="span6" style="color: {item};>
                {item}
        </li>

        <gg:forGroup.end iteration="{iterator}" max="2">
                </ul>
        </gg:forGroup.end>
</f:for>

Result:

<ul class="colors">
        <li class="span6" style="color: red;>
                red
        </li>
        <li class="span6" style="color: green;>
                green
        </li>
</ul>
<ul class="colors">
        <li class="span6" style="color: blue;>
                blue
        </li>
        <li class="span6" style="color: yellow;>
                yellow
        </li>
</ul>

FAL Metadata

Use the imageData property for image meta data. The imageData array provides the FAL meta data merged with inline file reference meta data. In addition imageData processes some EXIF meta data to be more usable (some properties are transformed into a human readable format).

Use item.image.properties for raw FAL meta data.

Tip

Which meta data is available depends on your installation and extensions.

Example

This examples is tested with EXT:metadata.

<f:for each="{collection}" as="item" iteration="iterator">
        <figure>
                <f:image src="{item.image.uid}" alt="{item.imageData.description}" />
                <p>
                        {item.imageData.camera_model} {item.imageData.shutter_speed_value} {item.imageData.aperture_value}
                        {item.imageData.focal_length} {item.imageData.iso_speed_ratings} ({item.imageData.flash})
                </p>
        </figure>
</f:for>