[TYPO3-UG Rhein-Neckar] Bitte Hilfe.. php-Datei in Extension einbinden

Ralf Hettinger ng at ralfhettinger.de
Mon Feb 19 19:22:47 CET 2007


Hallo Frank,

eine Klasse, die von tslib_pibase erbt, wird normalerweise durch ein cObject des
Typs USER aufgerufen. So, wie Du das vorhast, wird das meiner Meinung nach ohne
weiteres nicht funktionieren - bzw. es wird viel Arbeit nötig sein.


Eigentlich ist TYPO3 so konzipiert, dass Du immer index.php aufrufst und dann
die Ausgestaltung des Frontend Objekts (der entsprechenden Seite) durch
Parameter-Angabe steuern kannst.


Wenn Du dieses System tatsächlich "nachbauen" wolltest, wirst Du Dich wohl oder
übel durch den TYPO3-Core-Code hangeln müssen (angefangen bei der Funktion USER
in typo3/sysext/cms/tslib/class.tslib_content.php)

Du müsstest dann z.B. selbst ein Frontend Objekt (TSFE) initialisieren, das
wiederum ein cObject instanziiert... und irgendwann durch ein pagegen-Objekt
ausgegeben wird - zu empfehlen ist das aber imo nicht.


Hm. Ob das hilft?

Gruß Ralf


Explorasil schrieb:
> Ich habe mich jetzt durch sämtliche Foren gewühlt und stehe immernoch
> total auf dem Schlauch. Im Grunde scheint das eigentlich nicht
> kompliziert zu sein.
> 
> Die gewünschte Situation:
> 
> Ich habe eine Extension ( class.tx_atlantisbuchung_pi1.php). In der
> Extension rufe ich über einen Link eine
> andere PHP-Datei auf. In dieser PHP Datei möchte ich die
> Typo3-Standardfuntionen wie z.B. substituteMarkerArrayCached etc zur
> Verfügung haben. Es klappt einfach nicht :(
> 
> Ich weiß nicht genau, ob ich die zweite PHP Datei nun als Klasse
> aufbauen muss, etc.
> 
> Die zweite PHP-Datei habe ich nun so aufgebaut:
> 
> 
> <?php
> 
> ...
> 
> require_once(PATH_tslib . 'class.tslib_pibase.php');
> 
> ...
> 
> class tx_atlantisbuchung_tooltip extends tslib_pibase {
> 
> function main($content, $conf)
>      {
> 
>     $this->conf = $conf;
>          $this->pi_setPiVarDefaults();
>          $this->pi_loadLL();
> 
>     ...
> 
>     $content = '<HTML>...</HTML>';
> 
> 
>          return $this->pi_wrapInBaseClass($content);
>      }
> }
> 
> 
> ?>
> 
> meine Extension produziert nun einen Link, der auf
> class.tx_atlantisbuchung_tooltip.php verweist. Klickt der Anwender
> drauf, passiert gar nichts...
> Schreibe ich allerdings ein 'echo '<HTML>...</HTML>'' hinter das
> '<?php', dann bekomme ich eine Ausgabe... die Datei wird also korrekt
> aufgerufen.
> 
> Muss ich in class.tx_atlantisbuchung_tooltip.php irgendwas Anderes
> 'includen', damit ich die Typo3-Funktionen verwenden kann?
> 
> 
> Gruß,
> 
> Frank


More information about the TYPO3-UG-rhein-neckar mailing list