TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

jetzt buchen

Problem mit stdWrap und css_styled_content


Autor Nachricht
Verfasst am: 17. 01. 2012 [18:41]
hwt
Themenersteller
Dabei seit: 11.03.2006
Beiträge: 182
Aktuell habe ich folgendes Problem: append funktioniert, prepend nicht.

Gibt es dafür eine Erklärung, oder ist das ein Bug? Kann mir jemand vllt. bestätigen ob das geht oder nicht?

TYPOSCRIPT
page.10.marks.CONTENT.10 < styles.content.get
page.10.marks.CONTENT.10.renderObj.stdWrap {
			prepend = COA
			prepend.10 = TEXT
			prepend.10.value = davor
 
			append = COA
			append.10 = TEXT
			append.10.value = danach
}


Grüße!

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 17.01.2012 um 18:41.]

Freelancer für TYPO3 | Entwicklung, Schulung, Projektmanagement, Support
Profil
Verfasst am: 21. 01. 2012 [23:24]
Chrissli
Dabei seit: 19.04.2010
Beiträge: 297
Sir, yes Sir

[edit]
Folgendes Phänomen:

mein TS
TYPOSCRIPT
page = PAGE
page.10 < styles.content.get
page.10.renderObj.stdWrap {
 
  prepend = COA
  prepend.10 = TEXT
  prepend.10.value = davor
 
  append = COA
  append.10 = TEXT
  append.10.value = danach
}


Habe nun in der Datei
\typo3\sysext\cms\tslib\tslib_content.php
in den Methoden stdWrap_prepend und stdWrap_append
die übergebene $conf per var_dump ausgeben und erhalte folgendes:

Append:
PHP
array(2) {
  ["append"]=>
  string(3) "COA"
  ["append."]=>
  array(2) {
    [10]=>
    string(4) "TEXT"
    ["10."]=>
    array(1) {
      ["value"]=>
      string(6) "danach"
    }
  }
}

Prepend:
PHP
array(2) {
  ["prepend"]=>
  string(3) "COA"
  ["prepend."]=>
  array(4) {
    ["dataWrap"]=>
    string(36) "<a id="c{field:_LOCALIZED_UID}"></a>"
    ["if."]=>
    array(1) {
      ["isTrue."]=>
      array(1) {
        ["field"]=>
        string(14) "_LOCALIZED_UID"
      }
    }
    [10]=>
    string(4) "TEXT"
    ["10."]=>
    array(1) {
      ["value"]=>
      string(5) "davor"
    }
  }
}


Irgendwie hat sich in den Prepend ein DataWrap und ein if reingeschlichen. Gehört das denn da rein?

[Dieser Beitrag wurde 2mal bearbeitet, zuletzt am 21.01.2012 um 23:53.]

God's in his Heaven -
All's right with the world!
ProfilICQ
Verfasst am: 22. 01. 2012 [02:20]
hwt
Themenersteller
Dabei seit: 11.03.2006
Beiträge: 182
Danke fürs Gegenprüfen!!

Der Hinweis hat mich auf die Idee gebracht, mal im Template-Analyser zu schauen, was da so mit prepend passiert. Und siehe da, im static-Template css_styled_content steht:

TYPOSCRIPT
tt_content.stdWrap {
   ...
   prepend = TEXT
   prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
   prepend.if.isTrue.field = _LOCALIZED_UID
   ...
}


Das setzt wohl dort den Anker für mehrsprachige Inhalte, sofern vorhanden.

Umgehen lässt sich das dann z.B. so (im eigenen TS-Setup):
TYPOSCRIPT
tt_content.stdWrap {
   prepend.10 < .prepend
   prepend = COA
   prepend.dataWrap >
   prepend.if >
   prepend.20 = TEXT
   prepend.20.value = davor
}


Alternativ bleibt die Verwendung von preCObject, welches allerdings schon eher in der Hierarchie gerendert wird.

Vgl. http://jweiland.net/typo3/anleitung/typoscript/wrap-moeglichkeiten-und-hierarchie-in-menues.html, unten.

Und als Hintergrundinfo gibt's sogar noch Bug-Tracker-Einträge:

http://forge.typo3.org/issues/16412

http://forge.typo3.org/issues/17416


Besten Dank für den Input und die Bemühung!!

[Dieser Beitrag wurde 3mal bearbeitet, zuletzt am 22.01.2012 um 02:24.]

Freelancer für TYPO3 | Entwicklung, Schulung, Projektmanagement, Support
Profil