Zugriff auf TypoScript-Constants im Backend

  • mithrandix mithrandi...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    23. 05. 2005, 18:31

    Ich habe ein kleines Plugin gebaut mit einer Selectbox, die per PHP-Funktion mit Werten befüllt wird. ("Add pre-processing with PHP-function" im Kickstarter ausgewählt und Funktion angepasst.) So weit so gut.

    Ich würde die Werte dafür gerne zentral definieren, am Besten als TypoScript Konstante, nur find' ich weit und breit nichts wie ich in BE-Funktionen an die Constants rankomme.
    $GLOBALS['TSFE'] scheint im BE-Kontext immer leer zu sein und auch sonst kann ich die nirgends finden.

    Irgendwelche Ideen wie ich die auslesen kann?

    mithrandix


  • 1
  • hubake hubake
    Padawan
    0 x
    50 Beiträge
    0 Hilfreiche Beiträge
    30. 05. 2005, 16:59

    Hi mithrandix,

    [quote="mithrandix"]
    Ich würde die Werte dafür gerne zentral definieren, am Besten als TypoScript Konstante, nur find' ich weit und breit nichts wie ich in BE-Funktionen an die Constants rankomme.
    $GLOBALS['TSFE'] scheint im BE-Kontext immer leer zu sein und auch sonst kann ich die nirgends finden.
    [/quote]

    schau mal hier (habs selber noch nicht ausprobiert):
    [url]http://typo3.org/documentation/mailing-lists/english-main-list-archive/thread/659/?tx_maillisttofaq_pi1%5Bmode%5D=4[/url]

    Gruss Kerstin

  • mithrandix mithrandi...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2005, 13:32

    [quote="hubake"]
    schau mal hier (habs selber noch nicht ausprobiert):
    [url]http://typo3.org/documentation/mailing-lists/english-main-list-archive/thread/659/?tx_maillisttofaq_pi1%5Bmode%5D=4[/url]
    [/quote]
    Danke, genau das was ich suche.
    Werd's dann mal ausporbieren und berichten.

    mithrandix

  • iphar iphar
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    09. 03. 2006, 19:26

    Hallo,

    ich habe genau das gleiche Problem, und wäre an der Lösung interessiert, leider ist das Mailinglisten Archiv auf typo3.org offline und die gepostete Lösung nicht erreichbar.

    Kann mir jemand weiterhelfen, und sagen wir ich eine Selectbox in der Pre-Processing PHP Funktion mit Typoscript-Werten füllen kann.

    Danke!
    Gruß Raphael

  • mithrandix mithrandi...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    10. 03. 2006, 01:46

    Ja, die Umstellungen auf typo3.org haben leider etliches an Verwirrung gebracht - Ich find dort selber nie mehr das was sich suche :(

    TS im BE lesen braucht:

    am Anfang (vor class tx_xyz_module1...)

    [code]require_once (PATH_t3lib.'class.t3lib_page.php');
    require_once (PATH_t3lib.'class.t3lib_tstemplate.php');
    require_once (PATH_t3lib.'class.t3lib_tsparser_ext.php');
    [/code]

    und innerhalb der class {}
    [code]function loadTS($pageUid) {
    $sysPageObj = t3lib_div::makeInstance('t3lib_pageSelect');
    $rootLine = $sysPageObj->getRootLine($pageUid);
    $TSObj = t3lib_div::makeInstance('t3lib_tsparser_ext');
    $TSObj->tt_track = 0;
    $TSObj->init();
    $TSObj->runThroughTemplates($rootLine);
    $TSObj->generateConfig();
    $this->conf = $TSObj->setup['plugin.']['tx_xyz_pi1.'];
    }
    [/code]

    ("xyz" ist natürlich nach Bedarf anzupassen)

  • iphar iphar
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    10. 03. 2006, 09:22

    Danke für dich schnelle Antwort!!
    Leider komme ich jetz nicht weiter, vielleicht fehlt mir hier auch noch bisschen grundlegendes typo3 verständnis.

    ich hab in meiner pre-processing class jetzt die funktion loadTS und main.
    wie komm ich in der main jetzt an die TS-Variablen? muss die loadTS dort aufgerufen werden. ich brauche ja zugriff auf das conf-array.
    in der main steht folgendes um die selectorbox zu belegen:

    1. $params["items"][]=Array($pObj->sL("textxyz"|"textxyz"), 999);

    Vielen Dank
    Gruß Raphael

  • iphar iphar
    Padawan
    0 x
    52 Beiträge
    0 Hilfreiche Beiträge
    11. 03. 2006, 10:12

    Hatte nur ein kleinen Fehler gemacht. Jetzt gehts, danke nochmal.
    Ich lass die loadTS das conf-Array zurückgeben, und rufe die Funktion in der Main auf.
    Einziges Problem ist jetz, das ich die pageUid mit der ich die loadTS aufrufe im PHP Code fest eingetragen hab. Dies müsste man natürlich auch so gestalten können das man diese als Administrator im Nachhinein ändern kann!

  • 1