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
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
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!!!
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
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