Hallo Leute,
ich möchte gerne meine Adressen als Liste anzeigen lassen, sowie hier und da einzelne Adressen in einer Kurzform, wo nur der Name und ne Tel.-Nr. stehen soll ...
Die Liste kann ich ganz normal über das Content-Element "Plugin einfügen" realisieren, Ausgangspunkt festlegen, fettich!
Die Einzelansichten werden über die Site verteilt sein, also kann ich nicht hier und da ein verändertes TS-Setup einbauen, ich weiß später ja nicht, wo der redakteur seine Einzel-Adresse anzeigen lassen will ...
Daher dachte ich, ich verwende das Content-Element "Datensatz einfügen", womit ich eine einzelne Adresse schon mal selektiert habe, allerdings im gleichen Stil wie meine Liste ... das Content-Element hat aber eine Select-Box "Layout". Wenn ich hier ein anderes Layout wähle, könnte ich doch über Typoscript / CASE das Layout abfragen und entsprechend meine tt_address Ausgabe ändern, oder?!?!
Im Setup von tt_address steht ja auch schon folgendes:
## Transfering to the tt_content.list object:
tt_content.list.20.0 >
tt_content.list.20.0 = CASE
tt_content.list.20.0.key.field = layout
tt_content.list.20.0.0 = CONTENT
tt_content.list.20.0.0 {
table = tt_address
select.pidInList.field = pages
select.orderBy = {$content.tt_address.orderBy} {$content.tt_address.desc}
}
Jetzt habe ich auf Layout 2 (Content-Element) geschaltet und versucht durch anfügen von
tt_content.list.20.0.2 =< temp.tt_address
# tt_content.list.20.0.2 {
# source.field = records
# tables = tt_address
# conf.tt_address < tt_address.default
# }
temp.tt_address {
40 = TEXT
40.value = sadasd
}
im Setup auf das Layout 2 bezug zu nehmen - klappt so aber noch nicht!! Wer kann mir so kurz vorm WE denn noch einen Tip mit auf den Weg geben ...!?!?!
Ok, ich habe jetzt einen kleinen "Workaround" benutzt:
Über [globalVar = TSFE:page|layout = 1] kann ich das Seitenlayout abfragen UND nicht so wie von mir gewünscht, das Feld "Layout" des Content-Elementes "Datensatz einfügen" ... so weit, so gut - Ich nutze dies jetzt, um über Typoscript zu bestimmen, welche Felder aus tt_address auf der jedeiligen Seite angezeigt werden sollen:
# Address List
[globalVar = TSFE:page|layout = 1]
tt_address = COA
tt_address {
wrap = <div id="adr_list">|</div>
5 = TEXT
5.dataWrap = <div class="head"><div><h4>{field:title}</h4></div>
20 = COA
20.wrap = {$content.tt_address.info.wrap}
20 {
21 = TEXT
21.dataWrap =
22 = TEXT
22.if.isTrue.field = phone
22.dataWrap = <div>Tel: {field:phone}</div>
23 = TEXT
23.if.isTrue.field = mobile
23.dataWrap = <div>Funk: {field:mobile}</div>
24 = TEXT
24.if.isTrue.field = fax
24.dataWrap = <div>Fax: {field:fax}</div>
25 = TEXT
25 >
}
40 = TEXT
40 >
60 = IMAGE
60 >
}
[else]
tt_address = COA
tt_address {
wrap = <div id="adr_list">|</div>
5 = TEXT
5.dataWrap = <div class="head"><div><h4>{field:title}</h4></div>
20 = COA
20.wrap = {$content.tt_address.info.wrap}
20 {
21 = TEXT
21.dataWrap =
22 = TEXT
22.if.isTrue.field = phone
22.dataWrap = <div>Tel: {field:phone}</div>
23 = TEXT
23.if.isTrue.field = mobile
23.dataWrap = <div>Funk: {field:mobile}</div>
24 = TEXT
24.if.isTrue.field = fax
24.dataWrap = <div>Fax: {field:fax}</div>
25 = TEXT
25.if.isTrue.field = email
25.dataWrap = <div class="mail"><a href="mailto:{field:email}">{field:email}</a></div>
}
40 = TEXT
40 >
60.wrap = <div id="box_image">|</div>
}
[end]
Am schönsten wäre es nach wie vor, wenn ich über TS das Layout des Content-Elementes abfragen könnte, oder zumindest den Typ !!!
In meinem Falle habe ich Adresslisten (über Content-Element Plugin) und die Einzelansicht einer Adresse über Datensatz einfügen - wenn ich diese Typen anfragen könnte, dann brauche ich nur per TS auf diese Bezug nehmen und nicht das Layout einzelner Seiten einstellen, um eine Unterscheidung zu haben ...