guten abend,
ich habe wieder mal eine frage, die ich mir nicht nach board- und googlesuche beantworten konnte. ich habe in meinem template die rechte spalte eingelesen
# Auslesen der rechten Spalte
subparts.RECHTS = CONTENT
subparts.RECHTS {
table = tt_content
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
}
Die rechte Spalte wird auf der Titelseite (Home), in der auch das Haupttemplate liegt, wunderbar angezeigt. Auf allen anderen Seiten jedoch nicht.
Wo liegt das Problem? Ich kann mir nicht vorstellen, dass ich jetzt extra auf jeder Seite ein neues Template anlegen und jedes mal die Spalte neu auslesen muss.
Weiß jemand Abhilfe?
gibts auf den anderen Seiten denn in dieser Spalte einen Inhalt?
Wird das Template für alle anderen Seite überschreiben (durch ein anderes Template, eine Condition, usw)?
georg
der inhalt, der auf der ersten seite in der rechten spalte angezeigt wird, soll auf allen seiten in der rechten splte angezeigt werden. das dürfte ja gehen, wenn ich den auf jeder seite einzeln einfüge, aber das dauert und ist unpraktisch, wenn ich mal was ändern möchte...
gibt es eine funktion, bei der der inhalt der rechten spalte einer seite in alle übrigen rechten spalten der anderen seiten kopiert wird?
ich glaube, das template wird nicht für alle anderen seiten überschrieben (zumindest habe ich nicht bewusst diese einstellung gesetzt)...
Natürlich geht das, sorry hab das etwas überlesen.
Schau dir mal das an: http://www.oliver-thiele.de/cms-typo3/tutorials/content-slide.html
georg
danke dir... ich nehms mir mal vor
hm hab mich mal an die anleitung gehalten:
# Auslesen der rechten Spalte
subparts.RECHTS = CONTENT
subparts.RECHTS {
table = tt_content
# Die rechte Spalte auf alle Seiten vererben
slide = -1
slide {
collect = -1
collectReverse = 1
}
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
renderObj < tt_content
renderObj.stdWrap.wrap {
<div class="nav"> | </div>
}
renderObj.stdWrap.required = 1
}
Vererbt wird irgendwie nichts. Muss man da vll angeben, von welcher Seite die Spalte vererbt wird? Oder liegt es vll an meiner Seitenstruktur:
-Startseite (hier ist das Template gespeichert, Shortcut zu Home)
-Startseite->Home (hier soll die rechte Spalte kopiert werden)
Ich habe gelesen, dass bei -1 typo3 automatisch bis zur root-Seite zurück geht. Vll liegt da ja das Problem.
Das müsste ja reichen:
subparts.RECHTS < styles.content.getRight
subparts.RECHTS {
# bis zur Root-Seite wird nach Inhalt gesucht
slide = -1
slide {
collect = -1
# Inhalt von aktuellen Seite unter gesammeltem Inhalt
collectReverse = 1
}
}
mit styles.content.getRight funktionierts leider auch nicht, nur die erste seite wird wieder richtig angezeigt (Home)...
wie sieht denn deine Seiten Struktur aus?
Das Ganze geht eigentlich nur dann wenn es so aufgebaut wäre:
- HOME
|- Seite 1
|- Seite 2
etc.
Falls die Seite Home in der gleichen Ebene liegen würde geht das nicht so ohne weiteres mit slide.
Versuch es mal damit:
### DEFAULT CONTENT RIGHT ###
temp.CONTENT_RIGHT < styles.content.getRight
temp.CONTENT_RIGHT.select.pidInList = 10
Wobei die 10 die Seiten ID der Seite ist aus der Du den Inhalt haben möchtest.
Gruß
Michael
jaaaaaaaaaa, das funktioniert 🙂 tausend dank für den tipp
ich will das nochmal genau posten, damit der nächste typo3-neuling weiß, wie's funktioniert:
1.) Meine Seitenstruktur
Startseite
| - Home
| - ...
In Startseite ist das Template gespeichert. Von Startseite verweist ein Shortcut auf Home. Alle anderen Seiten (bis auf ein paar Unterseiten), sind in der Ebene, in der auch "Home" ist.
Mit diesem TypoScript hat's geklappt:
# Auslesen der rechten Spalte
subparts.RECHTS < styles.content.getRight
subparts.RECHTS.select.pidInList = 34
34 steht für die Seite, aus der der Inhalt der rechten Spalte in die anderen Seiten kopiert werden soll.