Zum Inhalt springen

Parameter für PHP_SCRIPT dynamisch mit Alias befüllen

Erstellt am 31. Oktober 2008 · 6 Antworten · letzte Antwort am 24. November 2008

Tags: Frage

typo3tester ·

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.

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

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

Unbekannter Benutzer ·

Hi,

in der Doku gibts folgendes Beispiel:

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
}

deshalb müsste folgendes eigentlich klappen:

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

🙂

typo3tester ·

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

Unbekannter Benutzer ·

Hi,

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

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

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

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

😃

typo3tester ·

Hei brokemeister,
Danke, genial, das klappt!

Der Code sieht jetzt bei mir so aus:

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>   
}

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 ·

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