Ein bestimmter Button oder Inhalt soll nur angezeigt werden, wenn der Benutzer im Frontend eingeloggt ist. Problem: TemplaVoilà läßt keine Page-Conditions im TypoScript zu. Es geht aber trotzdem: Man muss nur das TypoScript mit der Condition-Klausel auslagern – und genau zu diesem Zweck gibt es den Tag “TypoScriptObjPath” in der TemplaVoilà Datenstruktur.
Die entsprechende Stelle im DataStructure XML des TemplaVoilà Datensatzes. Hier ist zwar der Typ auf “Bild” eingestellt worden und zeigt das normale Upload-Feld für ein Bild, aber die Verarbeitung des Bildes ist durch das Tag “TypoScriptObjPath” auf das TypoScript lib.fce_bike_images augelagert:
... <field_bike_image type="array"> <tx_templavoila type="array"> <title>Bild vom Fahrrad</title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>image</eType> <TypoScriptObjPath>lib.fce_bike_images</TypoScriptObjPath> <proc type="array"> <int>0</int> <HSC>0</HSC> <stdWrap></stdWrap> </proc> <preview></preview> </tx_templavoila> <TCEforms type="array"> <label>Bild vom Fahrrad</label> <config type="array"> <type>group</type> <internal_type>file</internal_type> <allowed>gif,png,jpg,jpeg</allowed> <max_size>5000</max_size> <uploadfolder>uploads/tx_templavoila</uploadfolder> <show_thumbs>1</show_thumbs> <size>2</size> <maxitems>10</maxitems> <minitems>0</minitems> </config> </TCEforms> </field_bike_image> ...
Das TypoScript lib.fce_bike_images sitzt in einer Template Extension – und genau dort sind dann auch Page-Conditions erlaubt:
lib.fce_bike_images = COA lib.fce_bike_images { 10 = IMAGE 10 { file { import = uploads/tx_templavoila/ import.current = 1 import.listNum = 0 maxW = 650 } imageLinkWrap = 1 imageLinkWrap { enable = 1 typolink { parameter { cObject = IMG_RESOURCE cObject.file.import.data = TSFE:lastImageInfo|origFile cObject.file.maxW = 950 } ATagParams = class="bikezoom" } } } 20 = IMG_RESOURCE 20.file { import = uploads/tx_templavoila/ import.current = 1 import.listNum = 1 } 20.stdWrap.wrap = <a href="|" class="bikemaxzoom">Zoom</a> 20.stdWrap.required = 1 30 = TEXT 30.value = <!-- Not logged in --> } [loginUser = *] lib.fce_bike_images { 30 > 30 < .20 30.file.import.listNum = 2 30.stdWrap.wrap = <a href="|" class="download_hires">> Download</a> } [global]