Zum Inhalt springen

Eigene Klasse in Extension erstellen

Erstellt am 22. September 2008 · 7 Antworten · letzte Antwort am 18. November 2008

Tags: PHP, Frage

Bigspliff ·

Ist es möglich eine Klasse in einer Extension einzubinden? z.b. so?

class TA_Berechnungen
	{
	
		function Berechnung1()
		{
			return "Berechnung1";
		}
	
		function Berechnung2()
		{
			return "Berechnung2";
		}
	}

class tx_XXX_pi1 extends tslib_pibase {
	var $prefixId = 'tx_XXX_pi1';		
	var $scriptRelPath = 'pi1/class.tx_XXX_pi1.php';
	var $extKey = 'XXX;
	var $pi_checkCHash = TRUE;
	
	var $templateCode;
	var $template = array();
        var $TA_Berech = new TA_Berechnungen;


[TS][/TS]
Stoneage ·

Ja, da fehlt wohl nur die include-Anweisung (include TA_Berechnungen.php). Aber besser Du machst das mit der t3lib makeinstance. Dann bist Du auch Typo3 konform, und Du kannst XClassen 😃.

Bigspliff ·

Also Ich habe es so hin bekommen:

require_once(PATH_tslib.'class.tslib_pibase.php');
require_once(t3lib_extMgm::extPath('Hier kommt der $extKey hin').'pi1/class.Berech.php');

und dann weiter unten im Code

$TA_Berech = t3lib_div::makeInstance('tx_dummy_ext');

Auf der Funktionen kannst du dann per $TA_Berech->Berechnung1(); zugreifen.

Contrixx-Webdesign ·

Also, ich möchte das ganz gerne so machen, dass die Funktionen von Typo3 auch in der anderen bzw. eingebundenen Klasse zur Verfügung stehen. Ich möchte zum Beispiel mit $this->cObj->fileResource eine Template-Datei laden können. Wie macht man so was?

einpraegsam.​net ·
Contrixx-Webdesign schrieb

Also, ich möchte das ganz gerne so machen, dass die Funktionen von Typo3 auch in der anderen bzw. eingebundenen Klasse zur Verfügung stehen. Ich möchte zum Beispiel mit $this->cObj->fileResource eine Template-Datei laden können. Wie macht man so was?

global $TSFE;
$this->cObj = $TSFE->cObj; // cObject