In tt_address neues Layout umschaltbar zufügen
Wenn man in der Extension News von TYPO3 ein Bild referenziert oder hochlädt, muss der Redakeur angeben, ob das Bild auch als Vorschaubild in der Listenansicht ausgegeben wird.
Das macht durchaus Sinn, denn man möchte nur ein Bild in der Liste darstellen und muss TYPO3 mitteilen, welches, falls mehr als ein Bild hochgeladen wurde.
Es gibt Anwedungsfälle, in denen immer nur ein Bild genutzt wird. Auch hier muss der Redakteur das Bild von "Nur in Detailansicht anzeigen" - auf "Nur in Listenansicht anzeigen" oder "in Liste und Details anzeigen" umschalten.
Das wird häufig vergessen, und so erscheint in der Liste nur das Defaultbild.
Um das zu ändern, benötigt es nur ein kleinen Eintrag im PageTSConfig von TYPO3.

Workarround
Zunächst muss im TS Config der Rootseite (also Seiteneigenschaften / Ressourcen / TSConfig) folgender Eintrag. Nachzulesen in der Doku der Erweiterung tt_address:
TCEFORM {
tt_content {
pi_flexform {
ttaddress_listview {
sDISPLAY {
settings\.displayMode.addItems {
2 = mit Position
}
}
}
}
}
}
Dateien in TYPO3 auslagern
Die Dateien, die in der Erweiterung tt_address in typo3conf/ext/tt_address liegen, duplizieren Sie in ein Verzeichnis - zum Beispiel in fileadmin:
fileadmin/tt_address_telefon/Resources/Private/Templates/
fileadmin/tt_address_telefon/Resources/Private/Partials/
fileadmin/tt_address_telefon/Resources/Private/Layouts/
Dann wird in das Setup des Root-Template der Erweiterung mitgeteilt, wo nun die aktuellen Dateien liegen:
plugin.tx_ttaddress.view.templateRootPath = fileadmin/tt_address_telefon/Resources/Private/Templates/
plugin.tx_ttaddress.view.partialRootPath = fileadmin/tt_address_telefon/Resources/Private/Partials/
plugin.tx_ttaddress.view.layoutRootPath = fileadmin/tt_address_telefon/Resources/Private/Layouts/
Mit dem Eintrag in TSConfig haben wir ja ein weiteres Dropdown hinzugefügt. Das kann man auch schon sehen (siehe oben das Bild).
Wir müssen nun zwei Dinge tun, um dass dieses Layout auch gerendert wird.
In dem Ordner
fileadmin/tt_address_telefon/Resources/Private/Partials
kommt eine Datei z. B.
DisplayMode_2.html
Ich habe einfach die Datei ListItem.html dupliziert und umbenannt. Das Layout kann dort angepasst werden.
Jetzt suchen wir in dem Ordner die Datei List.html in
fileadmin/tt_address_telefon/Resources/Private/Templates/Address/List.html
In dieser Datei fügen wir folgenden Code ein:
<f:section name="displayMode_2">
<!--TYPO3SEARCH_end-->
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{addresses}" as="address" iteration="iterator">
<f:render partial="DisplayMode_2" arguments="{_all}"/>
</f:for>
</f:then>
<f:else>
<f:widget.paginate objects="{addresses}" as="paginatedAdresses" configuration="{settings.paginate}">
<f:for each="{paginatedAdresses}" as="address" iteration="iterator">
<f:render partial="ListItem" arguments="{_all}"/>
</f:for>
</f:widget.paginate>
</f:else>
</f:if>
<!--TYPO3SEARCH_begin-->
</f:section>
Jetzt kann man mit dem Layout die Ausgabe differenzieren.