So, jetzt bin ich wirklich kurz davor "auszuticken"...
Erst mal Hallo an alle.
Ich habe folgendes Problem. Entweder bin ich blind, zu doof oder habe wirklich keinen Plan.
Ich habe in meinem Template einen Marker, nennen wir Ihn mal "###MISTER_SMITH###".
So, in meinen TS-Setup möchte ich, dass ###MISTER_SMITH### von meiner Extension mit anderen Markern ersetzt wird.
z.B.
page.10.marks.MISTER_SMITH = USER
page.10.marks.MISTER_SMITH.userFunc = tx_meineextension_pi1->main
Meine Extension ersetzt jetzt ###MISTER_SMITH### mit zwei neuen Markern z.B. ###MARKER_1### und ###MARKER_2###. Wie ist es mir jetzt möglich, diese neuen Marker mit TS anzusprechen?
z.B.
-------------------------------------------------------------------
# TS
# Hier marker "MISTER_SMITH" im HTML-Template ansprechen/ersetzen
page.10.marks.MISTER_SMITH = USER
page.10.marks.MISTER_SMITH.userFunc = tx_meineextension_pi1->main
# So, von meiner Extension erstellte Marker ansprechen/ersetzen
page.10.marks.MARKER_1 = TEXT
page.10.marks.MARKER_1.value = Das soll jetzt hier stehen
page.10.marks.MARKER_2 = TEXT
page.10.marks.MARKER_2.value = Das soll jetzt hier stehen
-------------------------------------------------------------------
Mein Problem ist, dass die erstellten Marker nicht angesprochen werden. Wie kann ich das machen?
Gruß, Mario
Hallo !
Das ist richtig, woher soll Typo wissen, dass die User-Funktion Marker oder besser gesagt ein TEMPLATE zurück gibt. Und damit ist das Problem schon behoben.
Lösung:
1. Dem Marker den Typ TEMPLATE zuweissen:
page.10.marks.MISTER_SMITH = TEMPLATE
2. Das Template als TYP USER und die Funktion definieren
page.10.marks.MISTER_SMITH.template = USER
page.10.marks.MISTER_SMITH.template.userFunc = tx_meineextension_pi1->main
3. Die Funktion gibt Marker zurück, und diese dann ersetzen
page.10.marks.MISTER_SMITH.marks.MARKER_1 = TEXT
page.10.marks.MISTER_SMITH.marks.MARKER_1.value = Text für den Marker
Natürlich kannst du mit dem TEMPLATE arbeiten wie wenn es aus einer Datei kommt. Also mit Subparts und Co. arbeiten.
Gruss
Hallo SaarFritz,
:o 🙂 😃 #giggle# #giggle# #giggle# #giggle#
Danke... Danke... Danke... Ich habe vor einen halben Jahr schon mal die Frage gestellt und keine Antwort bekommen. Es ist wirklich unglaublich aber kannst Du mir sagen, ob das irgendwo in ne Ref steht oder hast Du es selbst durch etliche... etliche... etliche... Versuche herausgefunden.
Naja, stehe in Deiner schuld, hast meinen PC vor der Zerstörung bewart 😉
Ein dankbarer User
Hallo Mario!
Im Grunde steht dies in der TSref. Nur leider ist die TSref eine Referenz, d.h. sie beschreibt die Objekte und die Eigenschaften von TypoScript. Beispiele oder Problemlösungen findet man dort eher selten. Sie ist aber hilfreich für eine systematische Lösung.
Marker sind Arrays von cObjects (TSref: 8.0.26 TEMPLATE). cObjects (TSref: 8 Content Objects (cObject)) sind z.B. TEXT, HMENU ... oder auch TEMPLATE. Marker werden nur von Objekten des Typs TEMPLATE unterstützt. Die Eigenschaft template des Objektes sind wiederrum cObjects und dieses unterstützt/kennt das Objekt USER.
So war mein theoretischer Ansatz und die praktische Umsetztung hast Du ja gesehen.
Ich bin froh, dass ich Deinem PC das leben retten konnte 😉 .