Erst einmal hallo miteinander,
Ich habe folgendes Problem:
Ich möchte gerne die inhaltseinträge einer Seite nicht in der Content sondern als dynamisches Menu ausgeben, welches bei klick auf einen der Content-Einträge den entsprechenden Datensatz im Content-Bereich dynamisch ausgibt.
Ich habe es nun soweit gebracht, dass in der Seite das Content-Eintragsmenu angezeigt wird und beim klick auf einen Menupunkt der entsprechende Content-Eintrag dynamisch geladen wird, aber leider werden bis zur Auswahl eines bestimmten Menupunktes einfach alle vorhanden Einträge angezeigt.
Frage:
Kann ich es irgendwie erreichen, dass bis zum Klicken auf einen Menüpunkt nichts angezeigt wird im Content-Bereich.
Hier mein TS:
temp.contentnav = CONTENT
temp.contentnav {
table = tt_content
select {
pidInList = this
orderBy = header
where = colPos=0
languageField=sys_language_uid
}
renderObj = TEXT
renderObj {
field = header
wrap=<div class="archivMenu1">|</div>
typolink.parameter.field=pid
typolink.parameter.dataWrap=|
typolink.additionalParams.insertData=1
typolink.additionalParams=&content_id={field:uid}
typolink.no_cache=1
if.isTrue.field=header
}
}
lib.archivSubMenu < temp.contentnav
lib.inhalt.CONTENT>
lib.inhalt =CONTENT
lib.inhalt {
table=tt_content
select{
andWhere.insertData=1
andWhere=uid={GPvar:content_id}
andWhere.if.isTrue.data=GPvar:content_id
}
}
Bist doch fast soweit... Probier es mal damit:
lib.inhalt.stdWrap.if.isTrue.data=GPvar:content_id
Grüße
Christian
Herzlichen Dank,
Das hat ja bestens funktioniert mit dem
lib.inhalt.stdWrap.if.isTrue.data=GPvar:content_id
Noch eine weitere Frage habe ich aber...
Wie bekomme ich nun Inhalt in das leere Feld, sprich ein bestimmtes Content-Element, wenn noch kein Menupunkt ausgewählt wurde?
Herzlichen Dank im voraus...
setz mal unter dein bisheriges lib.inhalt sowas wie das hier:
lib.inhalt.ifEmpty.cObject = CONTENT
lib.inhalt.ifEmpty.cObject {
table=tt_content
select{
max = 1
}
}
Weiß aber nicht, ob das nach einem if so ohne weiteres funktioniert, hab ich noch nie probiert in der Kombination.
Grüße
Christian
PS: Sonst müsstest du das erste if Kontrukt mit einem override koppeln, so dass er den Inhalt von override nehmen würde (der dann im Prinzip wie hier im Post aussehen würde), außer die Variable ist gefüllt, das geht auf jeden Fall.
Irgendwie bekomme ich das mit dem Standardinhalt für den Inhaltsbereich nicht hin. Wäre froh über weitere Inspirationen.
Danke im voraus
Ich wäre wirklich froh um etwas Unterstützung...
Habe es mit der obigen Lösung versucht und es hat leider nicht geklappt.
Kann mir jemand helfen
Habe das Problem heute endlich selber gelöst. Mittels GPVar-Condition... Musste allerdings etwas herum experimentieren.
Für alle Interessierten hier noch die komplette Lösung:
# Contennavigation generieren
temp.contentnav = CONTENT
temp.contentnav {
table = tt_content
select {
pidInList = this
orderBy = header
where = colPos=0
languageField=sys_language_uid
}
renderObj = TEXT
renderObj {
field = header
wrap=<div class="archivMenu1">|</div>
typolink.parameter.field=pid
typolink.parameter.dataWrap=|
typolink.additionalParams.insertData=1
typolink.additionalParams=&content_id={field:uid}
typolink.no_cache=1
if.isTrue.field=header
}
}
# Contennavigation in Marker abfüllen
lib.archivSubMenu < temp.contentnav
# Inhalt auslesen und in Marker abfüllen
lib.inhalt.CONTENT>
lib.inhalt =CONTENT
lib.inhalt{
table=tt_content
select{
andWhere.insertData=1
andWhere=uid={GPvar:content_id}
andWhere.if.isTrue.data=GPvar:content_id
}
}
lib.inhalt.stdWrap.if.isTrue.data=GPvar:content_id
# Wenn die Variable 'content_id' leer ist wird das Standard-CE geladen
[globalVar = GP:content_id=]
lib.inhalt = RECORDS
lib.inhalt {
# ID des Standard-CE
source = 104
tables = tt_content
}
[global]