[TYPO3-german] Erweitertes tt_news Template nutzen

David Bruchmann david at bruchmann-web.de
Thu Dec 18 22:22:40 CET 2008


Die Funktionen, die in den Hooks aufgerufen werden, musst du über Deine
Erweiterung bereitstellen.
Viele Hooks werden auf Wunsch von Entwicklern integriert, sind daher schon
erprobt. Ein Fehler ist daher relativ unwahrscheinlich.

Gruß
David

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.netfielders.de
[mailto:typo3-german-bounces at lists.netfielders.de] Im Auftrag von Markus
Deckmann
Gesendet: Donnerstag, 18. Dezember 2008 16:54
An: typo3-german at lists.netfielders.de
Betreff: Re: [TYPO3-german] Erweitertes tt_news Template nutzen

Hi,

> Hooks können verschiedene Funktionen erfüllen, was Du auch an ve_guestbook
> sehen kannst. Je nach Funktion werden dann auch die Namen und die Namen
der
> zugehörigen Funktionen gewählt. Das Grundprinzip wie der Hook
implementiert
> wird ist immer gleich, welche Funktion er in welcher Form und mit welchen
> Parametern erfüllt ist aber abhängig vom Autor der Erweiterung.

Jetzt hat der Autor glaub ich einen Fehler in tt_news gefunden. Meine 
eigene Erweiterung ruft im Konstruktor jetzt die Methode initTemplate 
meiner eigenen Erweiterung auf. In dieser Methode passiert folgendes:

function initTemplate() {
// Auslesen des Templates aus der Flexform-Konfiguration
$_templatePath = $this->getFFConf("PluginTemplate", "sGeneral");
$this->templateCode = $this->cObj->fileResource($_templatePath);

// Setzen des Hooks
$TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraCodesHook'][]='tx_spuhledm_pi1-
>StandardRendering';
		
// Konfiguration von tt_news
$tt_news_conf['code'] = "";
$tt_news_conf['defaultCode'] = "";

// Generieren der tt_news-Instanz
$tt_news_obj = & t3lib_div::makeInstance('tx_ttnews');
$content .= $tt_news_obj->main_news($this->templateCode, $tt_news_conf);
}

Leider funktioniert das noch nicht zufriedenstellend. Ich bekomme 
folgenden Fehler:

Fatal error: Call to a member function enableFields() on a non-object in 
D:\Programme\xampp\htdocs\xampp\4.2.3\typo3conf\ext\tt_news\pi\class.tx_ttne
ws.php 
on line 223

Dieser resultiert scheinbar daraus das beim Aufruf der main_news in der 
letzten Zeile meiner Methode der Konstruktor von tt_news aufgerufen wird 
und darin die Methode init() der tt_news-Erweiterung.

In der genannten Zeile befindet sich der folgende Aufruf:

$this->enableFields = $this->cObj->enableFields('tt_news');

Und genau hier meine ich einen Fehler gefunden zu haben. Das Objekt 
"$this->cObj" existiert nicht, da es im Konstruktor der 
tt_news-Erweiterung nirgends gesetzt wird und demnach über $this->... 
auch nicht erreichbar ist.

Im Konstruktor wird allerdings eine Referenz auf "$this->local_cObj" 
gesetzt was durch die folgende Zeile passiert:

$this->local_cObj = t3lib_div::makeInstance('tslib_cObj');

Wie mir scheint wird innerhalb der Methode init() versucht auf 
$this->cObj zuzugreifen obwohl der korrekte Aufruf eigentlich 
$this->local_cObj sein müsste.

Bin ich hier einem Fehler auf der Spur oder habe ich nur noch irgendwas 
bei Aufruf oder Übergabe der Parameter falsch gemacht?

Ciao Markus
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list