Zum Inhalt springen

subparts mit markern

Erstellt am 29. Mai 2009 · 4 Antworten · letzte Antwort am 29. Mai 2009

Tags: Frage

froemken ·

Hallo zusammen,

nur eine kurze Frage:

Hat es irgendjemand von Euch schon mal geschafft einen Subpart mit Markern in TypoScript zu definieren? So mit diesen SUBPART_ - Dingern (der Unterstrich ist gewollt)?

Hier die Doku dazu:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Index.html

Unter subpart->"NOTE:" steht mein Vorhaben.

Google hat 40 Ergebnisse. Ca. 5 davon sind Russisch, die eine Hälfte verweist auf PHP-Beispiele und die andere Hälfte auf die TSref.

Laut google hat es also wohl noch keiner geschafft, diese Subparts wiederzuverwenden...

froemken

meckpo ·

Hallo,

vielleicht wäre es ganz sinnvoll, wenn du beschreiben würdest, was du erreichen willst. Die Doku sagt ja nur dass der Inhalt der Subparts ins Register geladen wird. Okay.
Und dann? Was willst du damit machen? Wo ist das Problem? Wie versuchst du denn das Register auszulesen? Und zu welchem Zweck?

froemken ·

Einfaches Beispiel: Simple News.
Eine simple News besteht aus Überschrift, einem Text und einem Bild. Das Temaplte dürfte so aussehen (Kurzform):

<html>
<body>
<!-- ###DOCUMENT_BODY### Start -->
  <!-- ###NEWS### Start -->
  <div class="news-eintrag">
    <div>###ÜBERSCHRIFT###</div>
    <div>###TEXT###</div>
    <div>###BILD###</div>
  </div>
<!-- ###NEWS Ende -->
<!-- ###DOCUMENT_BODY### Ende -->
</body>
</body>
</html>

Mit workOnSubpart schnipsel ich mir alles vor und nach ###DOCUMENT_BODY### weg. Richtig? Dann nehme ich mir den subpart ###NEWS###:

...
subpart {
  value = Hallo
}
...

Damit ist meine komplette News weg!

Laut Doku soll die aber noch in einem Register rumschwirren. Und wenn ich mich recht entsinne kann ich doch auch auf PHP-Basis auf ein Subpart zugreifen und den enthaltenen MARKERN im Subpart Werte zuweisen. Das muss doch auch in TS gehen. In einer deutschen Ref habe ich sogar gelesen, dass ich dieses SUBPART_ in einem Dokument MEHRFACH verwenden kann.

Ich stelle mir das so vor: Lade mir den Inhalt von NEWS sooft, wie ich NEWS in meiner Tabelle habe und ersetze die enthaltenen Marker mit den Werte aus meiner Tabelle.

Vielleicht ist es jetzt etwas klarer geworden

Stefan

meckpo ·

Hallo,

hm - so ganz klar ist mir das immer noch nicht ... also üblicherweise würdest du ja News wohl nicht mit TS rendern? Aber gut ... sehen wir mal:

tpl = TEMPLATE
tpl {
	template = FILE
	template.file = fileadmin/templates/irgendein_template.html
	workOnSubpart = DOCUMENT_BODY
  marks {
    TEXT = TEXT
    TEXT.value = Beliebiger Text der innerhalb des Subparts ausgegeben wird.
    BILD = IMAGE
    # weitere Definition der Marker ...
  }
}

page.99 < tpl

Aber das erzeugt dir natürlich nur EINE News (und ersetzt die Marker durch den Text). VORHER musst du natürlich durch die News iterieren. Aber das ist extrem umständlich, lass das tt_news erledigen oder mach dir ne eigene Extension.