Hallo,
ich habe folgendes Problem: Eine Box mit Daten eines Ansprechpartners soll auf der rechten Seite eingeblendet werden (auf jeder Seite). Der Ansprechpartner ist abhängig von Keywords. Es können auch mehrere Boxen sein. Da das Metatagfeld für die Keywords nicht benutzt wird, habe ich das missbraucht für mein Vorhaben. Ich benutze folgenden Code (s.unter dem Posting).
Mehrere Probleme:
Ich kann nicht sehen, was jeweils ausgegeben wird. Sollte man die Objekte (temp bzw. lib) nicht über debug ausgeben können? Da erscheint aber leider nichts.
Auf News-Seiten kommt die Meldung "Keine News in dieser Ansicht.". Wo kommt das her?
Es gibt keine Ausgabe. Der Code wird aber generell ausgeführt, denn die divs werden (ohne Inhalt) ausgegeben. Wenn ich die Ausgabe direkt mache, indem ich statt "temp" (oder lib) "page.xxx" (xxx ist dann irgendeine Zahl) schreibe bekomme ich eine (passende) Ausgabe.
Kann mir jemand Tipps gebe, wo mein Fehler liegt?
Code:
20 = COA
20.wrap = <div id="rightcontent">|</div>
20 {
10 < styles.content.getRight
# Ansprechpartnerbox immer (ganz unten) einblenden
20 = HTML
20.value = <div class="contact-box">
# Titel der Box
30 = TEXT
30 {
#dataWrap = <div class="csc-header csc-header-n2"><h1>{field:title}</h1></div>
# soll später aus Sprachdatei kommen
value = <div class="csc-header csc-header-n2"><h1>Ansprechpartner</h1></div>
}
# Keywords auslesen aus aktueller Seite
temp.keywords = COA
temp.keywords {
10 = TEXT
10 {
field = keywords
ifEmpty = Sales
split {
token = ,
cObjNum = 1
1.current = 1
1.noTrimWrap = | keywords LIKE "%|%" or |
}
substring = 0,-4
}
}
# Unterseiten mit passendem Keyword auslesen
lib.contacts = CONTENT
lib.contacts {
table = pages
# 38 ist pid des Ordners Ansprechpartner
select.pidInList = 38
select.where.cObject < temp.keywords
renderObj = COA
renderObj {
10 = TEXT
10 {
field=uid
wrap = |,
}
}
}
40 = COA
40 {
10 = TEXT
10.value = <div class="contact-content">
20 = CONTENT
20.table = tt_content
20.select {
pidInList.cObject < lib.contacts
orderBy = pid
where = colPos=0
}
30 = TEXT
30.value = <div class="contact-content">
}
50 = HTML
50.value = </div>
}