Zum Inhalt springen

Variable an PHP übergeben

Erstellt am 26. September 2003 · 14 Antworten · letzte Antwort am 22. Februar 2006

Tags: Frage

navigator ·

hallo,

ich binde ein php-script ein, dass verschiedene bestehende externe sourcen initiert. das mache ich so:

marks.INHALT = PHP_SCRIPT_EXT
marks.INHALT.file = fileadmin/scripts/p_list.php

jetzt würde ich diesem php-script gerne aus dem setup des templates heraus eine variable übergeben, so dass ich an verschiedenen stellen das gleiche php-script verwenden kann, aber dieses anhand der variable unterschiedliche dinge tut. geht das irgendwie?

vielen dank für tipps.

jayripper ·

Einfach mal eben im Setup eine Variable übergeben ? Keine Ahnung,.. aber Du kommst vielleicht mit der jeweiligen Seiten ID weiter:

In deiner PHP:

$test = $GLOBALS["TSFE"]->id;

$test hat also nun die jeweiligen Seiten ID. So kannst Du deine Aktionen nach der ID unterscheiden. Halt Blöd weil Seiten werden schon mal deleted, neu generiert usw. Also keine wirkliche praktikable Lösung.

navigator ·

danke für den tipp. allerdings möchte ich nix im setup unterscheiden sondern zum beispiel sagen:

$op = "liste";

und dieses op soll an das php mit übergeben werden. wenn ich das einfach mal so mache, kommt es bisher nicht beim php an, sondern wird anscheinend vom typoscript-interpreter geschluckt.

navigator ·

die lösung ist

marks.CONTENT_PHP = PHP_SCRIPT_EXT
marks.CONTENT_PHP {
    myVar = wert
    file = fileadmin/scripts/myscript.inc.php
}

myVar steht dann im PHP im Array $CONF zur verfügung:

$myVar = $CONF["myVar"]

njutn ·

Falls das mal nicht funktioniert:
Groß-Klein-Schreibung kannt relevant sein. Bei mir (3.7.0) fand sich die Variable im Array $conf[...], nicht in $CONF[...].

Wem's hilft ... schönen Gruß

Carolin ·

Bei mir funktioniert das partout nicht o.O - gibt es noch andere Möglichkeiten, in TS eine Variable zu definieren und in der PHP-Datei auszulesen?

Space-Teddy ·

also ich hab das so noch nie gemacht !!!

aber was ist den wenn du das per GET übergibst
und es im TS als aTagParameter
ein get variable dranhängst ?
ist zwar glaub ich nit die elegant variante ..aber vieleicht ne idee

Space-Teddy ·

hm get variablen sind ja zb

index.php?id=5&meinevariable=meinwert

und im php script

hui ...eh muss ich kurz nachlesen ... so

zb

$meinevar =$HTTP_GET_VARS['meinevariable'];

aber es geht auch irgend wie mit TS ...

is nur so ne idee

Carolin ·

Ach so. 🙂 Das Problem ist ja, dass das Menü von Typo3 automatisch generiert wird, da kann ich nicht automatisch noch ein "&var=variablenwert" anhängen - zumal er sich ja auch da den Variablenwert direkt aus der aufzurufenden Seite holen muss. o.O

Carolin ·

#angry#

Ich hab's:

tt_content.script = CASE
tt_content.script {
     key.field = select_key
     ID = PHP_SCRIPT_EXT
     ID.file = fileadmin/scripts/dbsearch.php
     ID.variablenname = variablenwert
}

Ich hatte statt

ID.variablenname = variablenwert

nur

  variablenname = variablenwert

:o
Danke aber trotzdem für Deine Hilfe. 🙂

FloLeBlanc ·

#angry# Ich hab jetzt das Beispiel von vorher einzubauen versucht. Leider ohne Erfolg. Kann mir bitte jemand sagen wo mein Fehler liegt?

Auf der Seite auf der meine Extension eingebunden wird im "Constants"

marks.CONTENT_PHP = PHP_SCRIPT_EXT
marks.CONTENT_PHP {
    myVar = 123
    file = typo3conf/ext/flb_random_quotes/pi2/class.tx_flbrandomquotes_pi2.php
}

im PHP File

function main($content,$conf)	{
                $myVar = $conf["myVar"];
		print("der wert ist: ".$myVar);
}

Leider ist kein Wert zu sehen 🙁
(Ich will die Variable über TypoScript setzen weil sie später nicht konstant bleiben soll, sondern ein USER_INT sein damit ich random-quotes anzeigen kann)
PS: Es ist mir natürlich klar, dass das Print einen header error erzeugt, aber der wert der Variable sollte zwecks Testzwecken ja trotzdem drinnen stehen)