Zum Inhalt springen

FCE mit Adressauswahl

Erstellt am 28. August 2008 · 4 Antworten · letzte Antwort am 22. Oktober 2009

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen,

ich beschäftige mich noch nicht so lang mit Templavoilá und bin gerade dabei mir ein FCE zusammenzubauen welches die Aufgabe hat, ein im Backend ausgewählten Adressdatensatz aus der tt_address im Frontend entsprechend auszugeben.

Mein FCE (Test) bisher:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<t3datastructure>
	<meta type="array" />
		<langdisable>1</langdisable>
	</meta>
	<root type="array">
		<tx_templavoila type="array">
			<title>ROOT</title>
			<description>Wählen Sie das HTML-Element der Seite, das Sie als übergeordnetes Container-Element der Vorlage möchten.</description>
		</tx_templavoila>
		<type>array</type>
		<el type="array">
			<field_select type="array">
				<tx_templavoila type="array">
					<title>selector</title>
					<sample_data type="array">
						<numindex index="0"></numindex>
					</sample_data>
					<etype>select</etype>
					<typoscript><![CDATA[
	10 = CONTENT
	10 { 
		table = tt_address
		select {
			pidInList = 118
			where = uid=field_select
		}
		renderObj = COA
		renderObj {
			10 = TEXT
			10.field = name
			20 = TEXT
			20.field = email
		}
	}
					]]></typoscript>
				</tx_templavoila>
				<tceforms type="array">
					<config type="array">
						<type>group</type>
						<internal_type>db</internal_type>
						<allowed>tt_address</allowed>
						<size>5</size>
						<maxitems>200</maxitems>
						<minitems>0</minitems>
						<multiple>1</multiple>
						<show_thumbs>1</show_thumbs>
					</config>
					<label>selector</label>
				</tceforms>
			</field_select>
		</el>
	</root>
</t3datastructure>

Bisher habe ich es leider nicht hingekriegt den entsprechenden tt_address Datensatz über die uid auszulesen. Mein Versuch über die "where" - Bedingung (Zeile 26) schlägt leider fehl.

Viele Grüße
Falk

Unbekannter Benutzer ·

Hallo,

hab's nun selber hinbekommen. Für alle die es interessiert nachfolgend ein kleines Beispiel-TS aus der Datastructure des FCE.

adress_uid = TEXT
adress_uid = field_select
	
10 < adress_uid	
	
tt_address = COA
tt_address {
	10 = TEXT 
	10 {
		field = name
		wrap = <strong> | </strong><br>
	}
		
	20 = TEXT
	20 {
		field = email
	}
}
		
20 = RECORDS
20 { 
	tables = tt_address
	source.current = adress_uid
	conf.tt_address < tt_address
}

Gruß Falk

cilurzo ·

bei mir gibt das frontend nur die ids der adressdatensätze aus🙁 hat jemand diese script zum laufen gebracht? kann hier jemand mal sein ganzes script abbilden? wäre froh um hilfe!!!

Unbekannter Benutzer ·

Hallo cilurzo,

vermutlich dachte ich zum damaligen Zeitpunkt, dass der von mir im vorherigen Post enthaltene Code die Lösung war. War es aber leider noch nicht ganz. Zumindestens habe ich den "alten" Code nochmal probiert und habe damit auch nur die ID ausgegeben bekommen.

Nachfolgend mal die letztendlich verwendete Lösung, welche bei mir nun im Einsatz ist und auch problemlos funzt.

Hier das FCE:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<T3DataStructure>
	<meta type="array">
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<tx_templavoila type="array">
			<title>ROOT</title>
			<description>Wählen Sie das HTML-Element der Seite, das Sie als übergeordnetes Container-Element der Vorlage möchten.</description>
		</tx_templavoila>
		<type>array</type>
		<el type="array">
			<field_address type="array">
				<tx_templavoila type="array">
					<title>ADDRESS</title>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>TypoScriptObject</eType>
					<TypoScriptObjPath>lib.address</TypoScriptObjPath>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>select</type>
						<foreign_table>tt_address</foreign_table>
						<minitems>0</minitems>
						<maxitems>1</maxitems>
					</config>
					<label>Adressauswahl</label>
				</TCEforms>
			</field_address>
		</el>
	</ROOT>
</T3DataStructure>

... und ein TS-Beispiel:

addressObj = COA
addressObj {
        10 = TEXT
        10 {
                field = name
                wrap = <strong> | </strong><br>
        }
               
        20 = TEXT
        20 {
                field = email
        }
}

lib.address = RECORDS
lib.address {
	tables = tt_address
	source.current = 1
	conf.tt_address < addressObj
}

Viele Grüße
vixe

wok ·

Hallo vixe,

tolle Lösung! Hab ich gerade ausprobiert und funktioniert prima.
Als ich aber die Lösung auf meine Verhältnisse anpassen wollen, ist mir eine Kleinigkeit aufgefallen.

Beim Remap wollte ich durch einen passenden Eintrag im "Local processing" erreichen, dass ich die XML Struktur nicht jedes Mal neu von Hand ändern muss, da der TCEforms-Abschnitt dabei überschrieben wird. Merkwürdigerweise funktioniert die "Lokale Verarbeitung (XML)" aber für diesen Abschnitt nicht, für andere allerdings schon.

Hat da jemand eine Erklärung für mich?

Danke,

WoK