[TYPO3-german] Per PHP jedes Content-Element um String erweitern?

Julian Pleger commentpage at gmx.de
Wed Oct 12 15:07:49 CEST 2011


Hallo Kay,

es soll mit PHP gelöst werden.

Greets 
-------- Original-Nachricht --------
> Datum: Wed, 12 Oct 2011 15:00:50 +0200
> Von: Kay Strobach <typo3 at kay-strobach.de>
> An: typo3-german at lists.typo3.org
> Betreff: Re: [TYPO3-german] Per PHP jedes Content-Element um String	erweitern?

> 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
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de


More information about the TYPO3-german mailing list