ich stand vor kurzem auch vor dem Problem, und habe es so gelöst
geh in die XML deiner spalte_Rechts
dort solltest du eine
<oldStyleColumnNumber type="integer">0</oldStyleColumnNumber>
finden, in meinem Fall war zwischen dem Tag eine 1 oder oder eine 0,
hier habe ich nun die 3 eingetragen.
In der alten Anordnung von Typo3 gab es ja 4 Spalten
Links(1) | Normal(0) | Rechts(2) | Rand(3),
hier hat man dann, wie in deiner select Abfrage, nach "colPos", die Abfrage für die Datenbank zusammengebaut.
Wenn man jetzt in TV für das Content Element die <oldStyleColumnNumber> setzt, wird diese beim erstellen eines Inhaltselements mit in die Datenbank geschrieben. (nach dem Setzen nicht speichern und Cache löschen vergessen)
Nun musst du noch zusätzlichen TYPOSCRIPT Code in der XML Struktur von deiner spalte_ rechts hinzufügen.
Im Original sollte da folgendes stehen, (wenn du es als Content Element gemappt hast.)
...
<eType>ce</eType>
<TypoScript><![CDATA[
10= RECORDS
10.source.current=1
10.tables = tt_content
10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
]]></TypoScript>
<oldStyleColumnNumber type="integer">3</oldStyleColumnNumber>
...
das änderst du ab zu
...
<eType>ce</eType>
<TypoScript><![CDATA[
5 = CONTENT
5.table = tt_content
5.select.orderBy = sorting
5.select.where = colPos=3
5.select.pidInList = hier die PID der Seite die den rechten Inhalten liefern soll
5.stdWrap.if.value = hier die PID der Seite die den rechten Inhalten liefern soll
5.stdWrap.if.equals.data = page:uid
5.stdWrap.if.negate = 1
10= RECORDS
10.source.current=1
10.tables = tt_content
10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
]]></TypoScript>
<oldStyleColumnNumber type="integer">3</oldStyleColumnNumber>
...
Nun wird zweimal ein Content Element in die Spalte eingefügt. (5= CONTENT plus 10= RECORDS).
Das hat den Vorteil, das ich auf jeder Seite zusätzlich noch weiteren Inhalt in die Rechte Spalte schreiben kann, die dann auch nur für diese Seite gültig ist.
5.stdWrap.if.value = hier ...
5.stdWrap.if.equals.data = page:uid
5.stdWrap.if.negate = 1
Wenn deine ID 29 zum beispiel die Startseite ist, verhindert die If Abfrage das auf der Seite der inhalt der spalte_rechts doppelt erscheint.
Ich hoffe ich habe mich verständlich aus gedrückt und man kann mir folgen 😉
Da ich selbst noch neu bin in TV, kann ich nicht sagen ob das die beste Lösung ist, jedoch funktioniert sie bei mir.
P.S. dein MARKER
page.10.marks.spalte_rechts
bringt dir im Fall von TemplaVoila nichts, weil hier keine Marker genutzt werden.
Karlchen