[TYPO3-german] Problem mit parseFunc und COA
Johannes Dörr
groups at johannesdoerr.de
Mon May 11 09:45:21 CEST 2009
Hi!
> ich denke 20.stdWrap.postUserFunc sollte eigendlich nach
> dem rendern der COA's aufgerufen werden.
Auf damit habe ich es auch probiert, zunächst dasselbe Problem aber:
> <!--INT_SCRIPT. ...
>
> Heist das du ein USER_INT object bekommst. also ein object das bei
> jedem seiten auf ruf neu gerendert werden soll.
Das wars! Tausend dank! Ich hatte tatsächlich ein paar USER_INTs
verwendet, aber nur, damit ich nicht immer den Cache löschen muss, wenn
ich was am Quellcode verändert habe.
Nun habe ich alle USER_INT durch USER ersetzt, und dann klappt es super
mit postUserFunc.
Vielen vielen Dank! Da wäre ich nicht drauf gekommen :-)
Viele Grüße,
Johannes
Christian Wolff schrieb:
> Johannes Dörr schrieb:
>> Hallo!
>> ich habe eine Verschachtelung von mehreren COA-Objekten, deren Output
>> ich vorher durch eine eigene Funktion jagen möchte, um Zeichen wie
>> Zeilenwechsel zu entfernen und andere Zeichen zu escapen (um das ganze
>> für JASON kompatibel zu machen). Für diesen Zweck lautet mein TS:
>>
>> 20 = COA
>> 20.stdWrap.parseFunc.nonTypoTagUserFunc = user_JSON->encode
>> 20 {
>> 10 < lib.rootlinenav.30
>> ...
>> }
>>
>> Die PHP-Datei sieht so aus:
>>
>> <?php
>> class user_JSON {
>> public function encode($data) {
>> return json_encode($data);
>> }
>> }
>> ?>
>>
>> Die COA-Objekte erzeugen verschachtelte div-Tags, also sowas:
>>
>> <div class="filebrowser_item itemuid-41"><div class="sitetree_item
>> itemuid-26 "><div class
>> ="sitetree_itemhead">...</div></div></div>
>>
>> Komischerweise (?) wird nur das erste Div von der Funktion manipuliert,
>> also nur dort sind zum Beispiel die Anführungsstrichte maskiert, beim
>> Rest jedoch nicht.
>>
>> Ich habe mir daraufhin mal angeschaut, was eigentlich in $data übergeben
>> wird:
>> <div class="filebrowser_item
>> itemuid-41"><!--INT_SCRIPT.872c64ed2d9ae4194d30b7ae4b828ccc--></div>
>>
>>
>> Kann mir jemand sagen, was hier passiert? Wie kann ich mein Problem
>> lösen und Typo3 dazu bringen, dass der gesamte Inhalt an meine Funktion
>> übergeben wird?
>>
>> Bin für jeden Tipp sehr dankbar, da ich seit einigen Stunden an dieser
>> Stelle nicht weiterkomme...
>>
>> Viele Grüße,
>> Johannes
>
> Hi Johannes,
> <!--INT_SCRIPT. ...
>
> Heist das du ein USER_INT object bekommst. also ein object das bei jedem
> seiten auf ruf neu gerendert werden soll.
>
> intern läuft das so das die seite "normal" im cache abgelegt wird. und
> beim seitenaufruf die <!--INT_Script marker dann durch die
> entsprechednen objekte ersetzt werden.
>
> eine blöde idee die mir jetzt erstmal einfallen würde währe den cache
> der seite abzuschalten. (nicht so toll wenns eine viel gefragte seite ist)
>
> eine ander möglichkeit währe es eine anderen hook zu nehmen um an den
> content zu kommen.
>
> ich denke 20.stdWrap.postUserFunc sollte eigendlich nach dem rendern der
> COA's aufgerufen werden. falls das auch noch nicht hilft
> kannst du ein COA_INT nehmen so wird das bei jedem seitenaufruf neu
> gerändert und damit natürlich auch alle funktionen in ihm.
>
> gruss chris
>
>
> Christian Wolff // Berlin
> http://www.connye.com
>
> some projects:
> http://richtermediagroup.com | http://titanic.de |
> http://fairplay-homepage.de
More information about the TYPO3-german
mailing list