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.
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.
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.
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"]
VIELEN DANK!!!!
Danach habe ich lange gesucht!!!
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ß
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?
Weiss da wirklich niemand eine Lösung? o.O
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
Ich steh ein wenig auf dem Schlauch - kannst Du mir da mal ein Beispiel geben? 🙂
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
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
#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. 🙂
Was benötigt man alles, damit man PHP in Typo3 mit einbinden kann ?
#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)