Hallo zusammen,
ich verwende erfolgreich 2 verschiedene Typoscripte zur Vererbung von Inhalten auf Unterseiten, die ich durch langes Suchen, Lesen und Ausprobieren zusammenbekommen habe.
Diese beiden Scripte würde ich gerne kombinieren, komme aber nicht weiter. Es wäre sehr nett, wenn mir jemand helfen könnte:
Script 1:
page.10.subparts.INHALT = COA
page.10.subparts.INHALT {
11 < styles.content.getLeft
11.stdWrap.ifEmpty.cObject < styles.content.getLeft
11.stdWrap.ifEmpty.cObject {
select.pidInList.data = leveluid:-2
stdWrap.ifEmpty.cObject < styles.content.getLeft
stdWrap.ifEmpty.cObject {
select.pidInList.data = leveluid:-3
stdWrap.ifEmpty.cObject < styles.content.getLeft
stdWrap.ifEmpty.cObject {
select.pidInList.data = leveluid:-4
}
}
}
}
Dieses Script füllt den Subpart "INHALT" mit dem Inhalt der linken Spalte. Falls auf der Seite kein Inhalt in dieser Spalte angelegt wurde, wird der Inhalt der darüberliegenden Seite genommen, ist dort auch kein Inhalt, dann der Inhalt der darüberliegenden Seite, usw. Das Script lässt sich für beliebig viele Ebenen ausbauen.
Script 2:
temp.headerbild = IMAGE
temp.headerbild {
file.import.data = levelmedia: 1, "slide"
file.import = uploads/media/
file.import.listNum = 0
file.import.override.field = media
}
page.10.subparts.INHALT < temp.headerbild
Dieses Script füllt den Subpart "Inhalt" mit einem im Seitenheader (unter "Dateien") angelegten Bild. Wurde kein Bild angelegt, dann wird das Bild aus Ebene 1 dieser "rootline" eingebunden, falls es denn dort eins gibt. Ende ;-)
Mein Ziel:
Script 2 funktioniert soweit wunderbar um z.B. Headerbilder einzubinden, allerdings ist die Vererbung bei Webseiten mit mehr als 2 Ebenen leider etwas eingeschränkt. Ich würde dieses Script gerne so umschreiben, dass es die Funktionalität von Script 1 verwendet, also die darüberliegende Seite abfragt und danach die wiederum darüberliegende Seite, usw.
Kann mir jemand etwas weiterhelfen? Meine Versuche sind bisher gescheitert und es macht wenig Sinn meinen Beitrag weiter mit nicht-funktionierenden Scripten aufzublähen ;-)
Liebe Grüße
Ben
Hi Ben,
das Stichwort lautet slide (wenn ich mich nicht täusch)
zB
#98502
lg
Hi just2be,
"slide" habe ich ja in Script 2 schon verwendet, das funktioniert aber nur für eine Ebene / ein Level, also "falls hier kein Inhalt ist schau auf Ebene soundso".
Damit habe ich aber keine Vererbung über mehrere Ebenen hinbekommen.
Gruß
Ben
Hallo
Ich habe genau das gleiche Problem und wäre um eine Lösung sehr froh. Habe noch im Forum etwas herumgestöbert und herausgefunden, dass es eine Extension dazu gibt (KB Content Slide), welche die Vererbung dynamisch macht. Allerdings wäre die Implementierung ins Template Setup eine etwas schönere Lösung
Freundliche Grüsse
Patrick
hi
hier das hab ich mal gebastelt, nicht sehr elegant aber imitiert immerhin eine schleife wie man sie aus der programmierung kennt...also wenn nix drin gehe ein level höher wenn da wieder nix drin gehe wieder ein level höher usw.
kann man evtl. noch komprimierter schreiben aber so ist es immerhin schön lesbar. zur info: der code gibt den namen eines bildes aus dem uploads-folder aus und schreibt ihn hin:
#searching like a loop one level up if there is no image in the current page (where colpos=3)
temp.four_levels_up = CONTENT
temp.four_levels_up {
table = tt_content
select.where=colPos=3
select.pidInList.data = leveluid:-5
renderObj = TEXT
renderObj.field = image
stdWrap.ifEmpty.cObject < temp.five_levels_up
}
temp.three_levels_up = CONTENT
temp.three_levels_up {
table = tt_content
select.where=colPos=3
select.pidInList.data = leveluid:-4
renderObj = TEXT
renderObj.field = image
stdWrap.ifEmpty.cObject < temp.four_levels_up
}
temp.two_levels_up = CONTENT
temp.two_levels_up {
table = tt_content
select.where=colPos=3
select.pidInList.data = leveluid:-3
renderObj = TEXT
renderObj.field = image
stdWrap.ifEmpty.cObject < temp.three_levels_up
}
temp.one_level_up = CONTENT
temp.one_level_up {
table = tt_content
select.where=colPos=3
select.pidInList.data = leveluid:-2
renderObj = TEXT
renderObj.field = image
stdWrap.ifEmpty.cObject < temp.two_levels_up
}
temp.subpage_picture = CONTENT
temp.subpage_picture{
table = tt_content
select.where=colPos=3
renderObj = TEXT
renderObj.field = image
stdWrap.ifEmpty.cObject < temp.one_level_up
}
Das Bild kommt in diesem Fall, wenn ich Dein Script richtig verstehe, aus der 3. Spalte, oder? So etwas funktioniert bereits mit meinem "Script 1" - s.o. Das Problem war, das Bild aus dem Seitenheader zu nehmen. Trotzdem Danke!
Gruß
Ben