Hallo Jenses,
vielen Dank, dass Du mich in die richtige Richtung "geschubst" hast. :-)
Was die Nutzung von Hooks anbelangt, war ich noch "recht unbedarft". Mir ist es aber nun gelungen, dass meine Extension die komplette Funktion render_textpic() über den Hook ersetzt. Funktioniert alles wunderbar. *strahl*
Ich hätte hierzu noch Verständnis-Fragen:
In meiner ext_localconf.php habe ich zur Nutzung des Hooks folgendes hinzugefügt:
$extKey = 'NAME_MEINER_EXTENSION';
$TYPO3_CONF_VARS['EXTCONF']['css_styled_content']['pi1_hooks']['render_textpic'] = 'EXT:'.$extKey.'/hooks/class.tx_'.$extKey.'_hooks.php:tx_'.$extKey.'_hooks_tx_cssstyledcontent_pi1';
Der Hook am Anfang der Funktion render_textpic() von tx_cssstyledcontent_pi1 sieht folgendermaßen aus:
function render_textpic($content, $conf){
// Look for hook before running default code for function
if (method_exists($this, 'hookRequest') && $hookObj = $this->hookRequest('render_textpic')) {
return $hookObj->render_textpic($content,$conf);
}
...
...und die Funktion hookRequest() von tx_cssstyledcontent_pi1 sieht so aus:
function hookRequest($functionName) {
global $TYPO3_CONF_VARS;
if ($TYPO3_CONF_VARS['EXTCONF']['css_styled_content']['pi1_hooks'][$functionName]) {
$hookObj = t3lib_div::getUserObj($TYPO3_CONF_VARS['EXTCONF']['css_styled_content']['pi1_hooks'][$functionName]);
if (method_exists ($hookObj, $functionName)) {
$hookObj->pObj = $this;
return $hookObj;
}
}
}
...nun meine angedrohten Fragen:
1. Sehe ich das richtig, dass nun generell immer meine Funktion render_textpic() genutzt wird, sobald meine Extension installiert ist? Auch wenn außerhalb meiner Extension per TypoScript IMGTEXT verwendet wird?
2. Gibt es eine Möglichkeit, dass mein render_textpic() nur bei IMGTEXT - Aufrufen innerhalb meiner Extension verwendbar ist?
3. Sehe ich das richtig, dass dieser Hook nur 1 x verwendet werden kann. Wenn nach meiner Extension eine andere geladen wird, die diesen Hook anspricht, wird meine Funktion render_textpic() generell nicht mehr verwendet?
Hoffe, dass sich jemand die Mühe macht, meine Fragen zu beantworten. :-) Würde mich sehr freuen!
...aber jetzt freue ich mich erst mal noch bisschen weiter, dass ich zum ersten mal in meinem Leben selber einen Hook verwendet habe. ...und das war gar nicht schwer. ;-)
Ciao
Micha