Ich habe folgendes Problem.
Ich habe in der tt_content eine neue Spalte hinzugefügt. Diese heißt tx_irgendwas_linkliste.
Es handelt sich dabei um ein Feld mit einer Datenbank-Relation.
Der Redakteur kann dort zu seinem Contentelement Beziehungen hinterlegen.
Diese Beziehungen sollen im Frontend als Link dargestellt werden.
Im Feld steht jetzt als Beispiel: 103,106,108.
Mit dem nachstehenden Skript habe ich es geschafft den Inhalts des Feldes zu zerlegen und als einzelne Links zu rendern.
20 = COA
20 {
wrap = <ul class="links">|</ul>
10 = TEXT
10 {
field = tx_irgendwas_linkliste
split {
token = ,
cObjNum = 1
1 {
current = 1
typolink.ATagParams = class="internal-link"
typolink.parameter.current = 1
typolink.parameter.dataWrap = #c|
typolink.wrap = <li>|</li>
stdWrap.cObject = CONTENT
stdWrap.cObject {
table = tt_content
select {
where.current = uid
}
renderObj = TEXT
renderObj {
#nur für Tests
field = uid
# später soll das Feld header verwendet werden
#field = header
wrap = <span>|</span>
}
}
}
}
}
}
Das Skript macht bis zu dem Punkt, wo es den Werte in current mit der uid in der tt_content vergleicht alles richtig.
Wenn ich das Skript laufen lasse werden folgende Links erzeugt:
<ul class="links">
<li>
<a href="#c103" class="internal-link">
<span>103</span>
<span>106</span>
</a>
</li>
<li>
<a href="#c106" class="internal-link">
<span>103</span>
<span>106</span>
</a>
</li>
<li>
<a href="#c108" class="internal-link">
<span>103</span>
<span>106</span>
</a>
</li>
</ul>
Es werden nur die ersten beiden Einträge verarbeitet und auch noch falsch.
Es soll aber so aussehen:
<ul class="links">
<li>
<a href="#c103" class="internal-link">
<span>103</span>
</a>
</li>
<li>
<a href="#c106" class="internal-link">
<span>106</span>
</a>
</li>
<li>
<a href="#c108" class="internal-link">
<span>108</span>
</a>
</li>
</ul>
Ich glaube mein Fehler liegt in der Abfrage
Hier:
select {
where.current = uid
}
Wer weiss dazu eine Lösung?
Die Abfrage in Worten so lauten:
Suche Datensätze in tt_content, wo die uid mit dem aktuellen Wert in current übereinstimmt.