[TYPO3-german] Per PHP jedes Content-Element um String erweitern?
Kay Strobach
typo3 at kay-strobach.de
Wed Oct 12 15:00:50 CEST 2011
Hi,
wie wärs mit TYPOScript und wrap?
Grüße
Kay
Am 12.10.2011 14:58, schrieb Julian Pleger:
> Hallo zusammen,
>
> ich habe eine kleine Extension gebastelt und ich stehe nun vor folgendem Problem.
> Ich habe ewig nach dem passenden Hook gesucht, mit dem ich die einzelnen Content-Elemente anfassen kann, bevor sie gerendet werden.
>
> Schlussendlich habe ich den Hook "$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][] = array('TEXT','EXT:myext/Hooks/tt_content.php:&tx_myext_ttcontent_hooks');"
> gefunden.
> Mit diesem rufe ich die Funktion "cObjGetSingleExt(&$name, &$conf, &$TSkey, &$obj)" in der Datei "myext/Hooks/tt_content.php" der Klasse "tx_myext_ttcontent_hooks" auf.
>
> Den Inhalt habe ich aus dem Core-Code von Typo vorerst übernommen:
>
> public function cObjGetSingleExt(&$name, &$conf, &$TSkey, &$obj) {
> $contentObject = $obj->getContentObject($name);
> if ($contentObject) {
> return $contentObject->render($conf);
> }
> }
>
> Wie ihr oben seht, rufe ich den Hook mit dem Datentyp "TEXT" auf. Das lässt sich natürlich auch auf Content-Elemente von anderen Typen anpassen.
>
> Nun aber zu meinem Problem:
> In der Funktion "cObjGetSingleExt" werden die einzelnen TEXT-Content-Elemente der aktuellen Seite gerendered und zurückgegeben.
> Wenn ich mir Hilfsausgaben in der Funktion "cObjGetSingleExt" mache (z.B.: echo $name), dann sehe ich, dass die Funktion pro Content-Element mehrfach aufgerufen wird. Ich verstehe aber nicht warum. Denn die ausgegebene Seite zeigt immerhin jedes Content-Element nur einmal an.
>
> Wenn ich meine Function "cObjGetSingleExt" nun erwietere:
> public function cObjGetSingleExt(&$name, &$conf, &$TSkey, &$obj) {
> $contentObject = $obj->getContentObject($name);
> if ($contentObject) {
> return $contentObject->render($conf) . ' MEINE ERWEITERUNG';
> }
> }
>
> so wird weiterhin jedes Content-Element EINMAL auf der Seite ausgegeben, der Textanhang "MEINE ERWEITERUNG" erscheint jedoch nach jedem Content-Element 7-,8- oder 9-fach.
>
> Ich verstehe die Problematik an dieser Stelle einfach nicht. Warum wird die Funktion pro Content-ELement mehrfach aufgerufen und warum werden die Elemente trotzdem nur einmal auf der Seite angezeigt. Wenn ich allerdings noch Daten anhänge werden diese Mehrfach dargestellt ... ?!?!
>
> Hat jemand eine Idee?
--
http://www.kay-strobach.de - Open Source Rocks
TYPO3 .... inspiring people to share!
Get involved: http://typo3.org
Answere was usefull: https://flattr.com/profile/kaystrobach
More information about the TYPO3-german
mailing list