Parameter für PHP_SCRIPT dynamisch mit Alias befüllen [Gelöst]

  • typo3tester typo3test...
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    31. 10. 2008, 19:05

    Ich möchte an ein PHP-Script, das ich mit PHP_SCRIPT einbinde, mit einen Parameter aus TypoScript den Aliasnamen der Seite übergeben.
    Folgendes Beispiel würde das Wort "alias" an mein PHP Script übergeben.

    [TS]temp.phpScript = PHP_SCRIPT
    temp.phpScript {
    file = fileadmin/scripts/php_script.inc.php
    myalias = alias
    }
    }
    page.30.70.10 < temp.phpScript[/TS]

    Ich möchte aber dynamisch den Alias der Seite setzen.
    Wie kann ich das machen?
    Ich habe schon verschiedene Wege versucht, {page:alias} geht auch nicht, das wird dann auch als Wort übergeben.

    Sicher ganz einfach, aber ich steh auf dem Schlauch. #angry#

    Gruß, Regina


  • 1

  • 0 x
    02. 11. 2008, 13:26

    Hi,

    in der Doku gibts folgendes Beispiel:

    [TS]page.100 = PHP_SCRIPT
    page.100 {
    file = fileadmin/scripts/surprise.inc
    cObj = TEXT
    cObj.value = Joe says:&nbsp;
    stdWrap.wrap = <font color="red"> | </font>
    stdWrap.case = upper
    }
    [/TS]

    deshalb müsste folgendes eigentlich klappen:

    [TS]page.100 = PHP_SCRIPT
    page.100 {
    file = fileadmin/scripts/surprise.inc
    cObj = TEXT
    cObj.data = page:alias
    ...
    }
    [/TS]

    :)

  • typo3tester typo3test...
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    02. 11. 2008, 18:25

    Hi,

    ne, das klappt so leider nicht.

    Ich habe dann im PHP-Script einen Parameter
    cObj der den String "TEXT" als Wert hat und einen Paramter
    cObj vom Typ Array mit dem key "data" und data hat den Wert "page:alias".

    Ich habe das Problem inzwischen anders gelöst.
    Ich habe im PHP-Script $TSFE auf global gesetzt und kann damit den
    Aliasnamen über $TSFE->page["alias"] ansprechen.

    Ich lasse den Thread dennoch auf ungelöst, weil mich eine Lösung für die
    Parameter-Übergabe noch interessieren würde.

    Gruß, Regina


  • 0 x
    03. 11. 2008, 22:45

    Hi,

    ich nochmal! Folgendes führt zur Lösung:

    [TS]page.100 = PHP_SCRIPT
    page.100 {
    file = fileadmin/scripts/surprise.inc
    cObject = TEXT
    cObject.data = page:alias
    }
    [/TS]

    In dem PHP Script kann man dann den Wert folgendermaßen auslesen:

    1. ...
    2. $content = $this->cObjGetSingle('TEXT',$conf,$TSkey='__');
    3. ...

    :D

  • brokemeister brokemeis...
    Jedi-Ratsmitglied
    0 x
    762 Beiträge
    0 Hilfreiche Beiträge
    03. 11. 2008, 23:46

    Schau dir mal das an, vielleicht hilft es dir. Brauchte da auch ein Feld im User-Object...
    http://www.typo3.net/forum/list/list_post//83603/

  • typo3tester typo3test...
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    04. 11. 2008, 07:38

    Hei brokemeister,
    Danke, genial, das klappt!

    Der Code sieht jetzt bei mir so aus:
    [TS]includeLibs.irgendwas = fileadmin/<myphp>.php
    page.10.subparts.col3_innen.45 = TEXT
    page.10.subparts.col3_innen.45 {
    field = alias
    preUserFunc = checkHersteller
    preUserFunc.file = <meinPfad>
    preUserFunc.imgPath = <meinPfad>
    }
    [/TS]

    Nun kann ich in der Funktion checkHersteller den Alias mit $content abgreifen und die anderen Parameter mit $conf["file"] und $conf["imgPath"].

    Wenn ich jetzt die Doku zu preUserFunc lese, dann verstehe ich auch den tieferen Zweck der Funktion. ;)

    Bleibt nur ein Problem.
    Was ist eigentlich der Unterschied zwischen preUserFunc und postUserFunc?
    Bei beidem wird eine PHP-Methode in einer Klasse aufgerufen und der Inhalt als erster Parameter und alle weiteren Eigenschaften als zweiter Parameter übergeben.

    Vielleicht erbarmt sich ja jemand, mir das zu erklären.
    Vielleicht trinke ich auch erst mal einen Kafee und verstehs dann. #paralyzed#

    Ich setz den Thread aber schon mal auf gelöst.

    Gruß, Regina

  • Torsten.E Torsten.E
    Jedi-Meister
    0 x
    385 Beiträge
    0 Hilfreiche Beiträge
    24. 11. 2008, 13:55

    Da hänge ich mich mal mit dran,
    da ich vermutlich ein ähnliches Problem
    habe.

    Ich möchte innerhalb einer Extension
    mit PHP die aktuellen Einträge in der Seite
    von "keywords", "description" abfragen und
    überschreiben.

    Torsten.E

  • 1