Zum Inhalt springen

TS Setup bzw. Konstanten in Backend Modul verwenden?

Erstellt am 25. Januar 2008 · 9 Antworten · letzte Antwort am 3. Januar 2009

Tags: Frage

rainer_2 ·

Hallo,

Bin schon recht verzweifelt, aber vielleicht könnt ihr mir ja helfen.

Folgendes Problem:
Ich hab eine Extension erstellt (mit dem Kickstarter) und so einiges dazu programmiert (php alleine kann ich ja zumindest ;-) )

Dort wird z.B. ein Datensatz in die Datenbank geschrieben (Daten werden aus einer CSV Datei gelesen). Nun möchte ich aber, dass der Datensatz mit einer speziellen PID eingetragen wird. Nun kann ich das natürlich hard-coden, aber zwecks Protablität ist das nicht so der Hammer. Aus diesem Grund möchte ich das via TS-Script bzw. über so eine Constants an das PHP Script übergeben.

Da ich mal davon ausgehe, dass sowas gehen muss (geht ja zumindest bei einem Frontend-Plugin) wollte ich eben fragen wie man sowas macht.

Ich stell mir das ungefähr so vor:

// ich hab allerdings keine Ahnung ob mann überhaupt TS, etc. an Backend Module übergeben kann
// setup bzw. Constants
plugin.meineExtension = USER
plugin.meineExtension.Variable = Was auch immer, Daten halt (realitisch
sowas wie 31)

und dann im php
$variable = $GLOBAL[meineExtension][Variable];

na eben wie man sowas immer macht.

Ich bin für jeden Vorschlag sehr (sehr, sehr (periodisch)) dankbar.

lg,
rainer

TheFreeman ·
rainer@amler.at schrieb

// ich hab allerdings keine Ahnung ob mann überhaupt TS, etc. an Backend Module übergeben kann
// setup bzw. Constants
plugin.meineExtension = USER
plugin.meineExtension.Variable = Was auch immer, Daten halt (realitisch
sowas wie 31)

Das kannst dann so machen:

plugin.tx_deineextension_pi1{
   TSvariable = wert
}
rainer@amler.at schrieb

und dann im php
$variable = $GLOBAL[meineExtension][Variable];

Und dann im PHP

$variable = $this->pi_vars['TSvariable'];
rainer_2 ·

Hi, funktioniert leider nicht. (Typo3 Version 4.0.4)

Wenn ich mir die Extension installiere (oelib) und versuche es nach Anleitung in eine Extension einzubauen bekomme ich das hier:

Fatal error: Class 't3lib_TStemplate' not found in /www/htdocs/xxxxxxx/typo3_src/t3lib/class.t3lib_div.php on line 3994

Ich hab folgendes gemacht:
1, oelib installiert
2, Eine neue Extension mit dem Kickstarter erstellt
3, Oelib als Voraussetzung angegeben (was auch immer er damit macht; bzw. wo auch immer der Code dafür steht)
4, alle "require_once(PATH_tslib.'class.tslib_pibase.php');" (gab's keine da im Backend; stattdessen "require_once(PATH_t3lib.'class.t3lib_scbase.php');" mit "require_once(t3lib_extMgm::extPath('oelib').'class.tx_oelib_templatehelper.php');" ersetzt)
5, t3lib_scbase mit tx_oelib_templatehelper ersetzt
6, cache cleared
7, Extension aufgerufen --> dann kommt eben die Fehlermeldung wie oben.

Also irgendwie scheint das leider nicht zu funktionieren :-(

Vielleicht weiss ja noch wer was.

lg,
rainer

digedag ·

Jetzt muss ich mal fragen, warum man es so kompliziert machen muss? :o
Im BE wird doch die TS-Setup verwendet, die man Seiten oder Usern zuordnen kann. Und um die abzufragen genügt bspw. folgender Code:

// Config laden (Die PageID als Parameter übergeben)
$pageTSconfig = t3lib_BEfunc::getPagesTSconfig($this->id);
// Und dann das Array auslesen
$inputFields = intval($pageTSconfig['tx_cfcleague.']['matchTickerCfg.']['numberOfInputFields']);
oliverklee ·

Hi,

$pageTSconfig = t3lib_BEfunc::getPagesTSconfig($this->id);

Das hier holt doch die TSconfig, nicht das TS-Setup. Und wenn ich Rainer richtig verstehe, will er das TS-Setup. (Wobei das TS-Setup ja bei Kickstarter-generierten Extensions schon als $conf für die pi1-main-Methode übergeben wird.)

Oliver

digedag ·
oliverklee schrieb

Das hier holt doch die TSconfig, nicht das TS-Setup. Und wenn ich Rainer richtig verstehe, will er das TS-Setup. (Wobei das TS-Setup ja bei Kickstarter-generierten Extensions schon als $conf für die pi1-main-Methode übergeben wird.)

Das ist mir schon klar. Aber im ersten Post schreibt er ja, daß er eigentlich nur einen Wert (in dem Fall eine PID) konfigurieren will, den er in seinem BE-Modul auslesen will. Also sollte er doch korrekterweise die TSconfig verwenden. 8-)
Kann ja sein, daß er diese Möglichkeit nur noch nicht kannte... 😉

digedag ·

Mal ganz was anderes: Der Thread feiert ja bald seinen ersten Geburtstag. Vermutlich hat Rainer sein Problem längst gelöst! #giggle#