Dies könnte eine Anfängerfrage sein (Sorry im Voraus! :o ):
Ich weiß natürlich, dass und wie man(zumindest prinzipiell) TS-Variablen im PHP-Code ansprechen kann. 😉
Ich möchte aber jetzt genau ANDERSHERUM EINE PHP-VARIABLE (meinetwegen gern auch mit der Einschränkung, dass es ein globales PHP-Array bestimmter Bauart sein muss oder so ...!) in meinem Typoscript-Code (genauer Setup-Bereich) ansprechen. Ich will nur ca. folgendes machen:
MARKER = PHP-Variable
Die PHP-Variable ist jeweils mit einem Stringinhalt (genauer Link-Tag samt URL, Parameter usw...) gefüllt, der von meiner PHP-Extension ständig aktualisiert wird. Die "TS-Zuweisung" würde dann den Marker entsprechend neu belegen /aktualisieren.
Eigentlich müsste das doch "irgendwie" gehen, da sich hinter TS-Code ja in Wirklichkeit nur PHP-Array-Belegung verbirgt...!?
Danke für Hilfe und Gruß refalo.
Ok. Wie üblich selbst gelöst. Im Grunde hatte ich mir die Antwort schon fast selbst präsentiert ( :o ):
Im TS-Code (kleine Syntaxfehler OHNE GEWÄHR! ):
MARKER = COA
MARKER{
10 = TEXT
10.dataWrap = { global : ownKey }
}
Im PHP-Code (Das globale Array $GLOBALS muss ja nicht deklariert werden!) :
$GLOBALS['ownKey'] = 'ownPrefix'.time().'ownPostFix' ( Beispielsweise! )
Siehe auch hier:
#476352
Und tschüss. 8-)
[/url]
Wenn Du weist, wie man im PHP-Code die TS-Variablen ansprechen kann (und zwar konkret die Uid des ausgegeben Elementes), könntest Du mich bitte in diese Kunst einweisen?
Danke und Gruß
Martin
@martin_md:
In Deinem TS-Code (siehe folgendes Bsp.) hast Du z.B. eine Variable 'testUid',
die Du in Deiner Extension 'myExtension' von PHP ansprechen möchtest:
...
plugin.tx_myExtension_pi1{
...
testUid = 4711
...
}
...
Deine (Haupt-)Extension-Klasse (PHP-Datei!) sieht dann am Anfang etwa so aus:
...
require_once(PATH_tslib.'class.tslib_pibase.php');
...
class tx_myExtension extends tslib_pibase {
...
var ...
var $conf;
...
function main($content,$conf){
...
$this->conf = $conf;
...
... = $this->conf['testUid'];
...
}
...
}
...
Hilft Dir das schon mal ein bißchen weiter? 😉
Gruß refalo.