Hallo, ich möchte für meine Seite realisieren, dass auf jeder Seite ein table of content Menü erstellt wird, was zu den einzelnen überschriften linkt. Nur ich weiß garnicht, wie ich das am besten anfange. Hat vllt jemand von euch eine Ahnung wie man so etwas realisieren kann? So im Stil von den Wikipedia Inhaltsverzeichnissen...
table of content auf jeder seite
Hallo!
recht einfach ginge es so:
#------------------------------------------------------
# Template fuer ein Inhaltsverzeichnis (wenn man es braucht....)
temp.contentnav = CONTENT
temp.contentnav {
table = tt_content
select {
pidInList = this
orderBy = sorting
where = colPos=0
}
renderObj = TEXT
renderObj {
field = header
wrap = <br />
typolink.parameter.field = pid
typolink.section.field = uid
}
}
bei mehrsprachigen Seiten natürlich die select Eigenschaft noch modifizieren.
Gruß
Cope
hm, das funktioniert soweit schon ganz gut. was ich noch für ein problem damit habe ist, dass ich auch elemente in die Seite einfüge, die nur bilder enthalten. Solche Elemente haben dann ja auch nen header feld, nur die wollt ich eigentl nicht verlinken, kann man die auch noch ausbauen?
hm, ich denke ich müsste sowas machen wie, nur einfügen wenn der ctype text ist, und auch nur wenn daten drin stehen.. bin leider noch etwas neu in typo und beherrsche typoskritp noch nicht so gut, aber mit son paar if abfragen denk ich kann das doch gehen oder?
Hi
müsste auch einfach mit andWhere gehen.
Ich hab spasseshalber hidden/deleted dazu genommen.
mit dem CType lagst Du schon gut mein ich. Deshalb != 'image'. So kommen Überschriften von "Nur Bild" Elementen nicht in die Liste.
temp.contentnav = CONTENT
temp.contentnav {
table = tt_content
select {
pidInList = this
orderBy = sorting
where = colPos=0
andWhere = CType != 'image' #<----
andWhere = hidden = 0
andWhere = deleted = 0
}
renderObj = TEXT
renderObj {
field = header
wrap = <br />
typolink.parameter.field = pid
typolink.section.field = uid
}
}
LG
Cope
hm, jo klingt logisch. nur leider funktioniert dein typo code bei mir nicht. er übernimmt trotzdem noch die header von den bildern... versteh ich nicht
Hallo nochmal,
kann auch nicht klappen.
Ich habs nur skizziert und das dooferweise nicht geschrieben... sorry
select {
pidInList = this
orderBy = sorting
where = colPos=0 AND NOT deleted AND not hidden
andWhere = CType IN ('text','textpic')
}
Es gibt ja zig Möglichkeiten, deshalb hatte ich im letzten Post != genommen, was es ja nicht gibt (eher <>). Und lass die andWhere hinterher weg, weil die nat. das andWhere von vorher überschreiben. Wie gesagt, es war nur ne Skizze...
Hier hab ich es mal mit dem SQL IN probiert. Wenn Du alles ausser Bildüberschriften haben willst, kannst Du auch
andWhere = CType <> 'image'
versuchen.
In Summe also
temp.contentnav = CONTENT
temp.contentnav {
table = tt_content
select {
pidInList = this
orderBy = sorting
where = colPos=0 AND NOT deleted AND not hidden
languageField = sys_language_uid
#andWhere = CType IN ('text','textpic')
andWhere = CType <> 'image'
}
renderObj = TEXT
renderObj {
field = header
wrap = <br />
required=1
typolink.parameter.field = pid
typolink.section.field = uid
}
}
Gruß
Cope
wow danke, das funktioniert jetzt! vielen vielen dank, jezt hab ich wieder ein bischen mehr gelernt!
Klasse!
ich lern auch jeden Tag hier was Neues...
Axo, wenn alles klappt, Häckchen für "Thema erledigt" nicht vergessen 😃
LG
Cope