Zum Inhalt springen

Autoparser will nicht

Erstellt am 9. April 2010 · 1 Antwort · letzte Antwort am 9. April 2010

Tags: Frage

tech7 ·

Hi Leute,

ich stehe mal wieder am Rande des Wahnsinns. #evil# Eine einfache Sache: Der Autoparser soll - funktionieren! Schwierig, aber das sollte doch machbar sein mit TYPO3 4.3.2. Mein HTML-Template-Code (richtig komplex):

...
<head>
<!--###DOCUMENT_HEADER### begin -->
	<link rel="stylesheet" href="styles.css" type="text/css" />
<!--###DOCUMENT_HEADER### end -->
</head>
...

Und jetzt das TypoScript dazu:

plugin.tx_automaketemplate_pi1 {
  content = FILE
  content.file = fileadmin/templates/template.html

  elements {
    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title
  }
}

temp.headTemplate = TEMPLATE
temp.headTemplate {
  template =< plugin.tx_automaketemplate_pi1
  workOnSubpart = DOCUMENT_HEADER
}

page = PAGE
page.typeNum = 0
page.headerData.10 < temp.headTemplate

So. Es geht erstmal NUR um diese simple Sache, nämlich einfach einen Content-Part der Template-Datei zu mappen. Da scheitert es schon. Was ist an dem obigen Code falsch??? #evil# Ich verstehe es nicht #evil#

Das Irre ist:
Sobald ich im TypoScript "HEAD.all = 1" weglasse, funktioniert es. #evil# WARUM? Was ist daran falsch? Das ist absolutes Basic-Zeug und das klappt schon nicht. Liegt es an der aktuellen Typo3-Version?! Bitte helft mir, ich drehe durch #evil#

tech7 ·

Es ist schon komisch, dass ich mir meine Threads immer selbst beantworte 😉

Die Lösung:

<!--###DOCUMENT_HEADER### begin -->
        <link rel="stylesheet" href="styles.css" type="text/css" />
<!--###DOCUMENT_HEADER### end -->

..diese Marker dürfen nicht im Template stehen.

Mit der Zeile

HEAD.all.subpartMarker = DOCUMENT_HEADER

werden die Marker "<!--###DOCUMENT_HEADER### begin -->" eingefügt und müssen wohl nicht noch einmal zusätzlich im Template vermerkt sein. Ist das der Fall, wird natürlich vom Parser der Inhalt des Markers überschrieben. Wenn man die Einstellung "HEAD.all = 1" entfernt, wird nur der Inhalt des ersten "headers" geparsed. Es ist eigentlich logisch, aber schade, dass es so im "Modern Template Building" erklärt ist.