Hallo ....
meine eigene Extension erzeugt in der URL einen Parameter der in etwa so aussieht: ?tx_ccuserlist_pi1%5Buserid%5D=1
Wie kann ich den Wert zur weiteren verarbeitung abfragen? Das geht doch irgendwie mit der Funktion t3lib_div::_GET() .... oder????
Danke im vorraus....
Im Prinzip ja, du kannst aber auch t3lib_div::_GP('meinevariable') benutzen. Damit werden POST und GET gleichzeitig beachtet.
Wenn du die Typo3-API zum erstellen der Links benutzt, dann kannst du direkt die piVars setzen und per $this->piVars['meinevariable'] drauf zurückgreifen.
Vielen Dank für die schnelle Antwort .... Aber wie kann ich die piVars setzen? Muss ich diese Methode erst initialisieren? Ich benutze für die Links die Typo3-Funktion "pi_linkToPage()" ......
Achso ... wie müsste es den dann aussehen, etwa so?
$this->piVars['tx_ccuserlist_pi1%5Buserid%5D];
oder vielleicht so ....
$this->piVars['tx_ccuserlist_pi1[userid]'];
Danke im vorraus.....
Funktioniert leider nicht .... hatte ich auch schon probiert. Liegt es vielleicht daran, daß der link zu einer anderen Seite mit einer anderen Seiten-ID linkt? In dieser Seite habe ich aber auch das PlugIn installiert.
Gruss
Ich würde mich ja schon zufrieden geben, wenn ich die GET-Variable auf dem Bildschirm ausgeben könnte .....
Das Plugin, welches einen Parameter übergeben soll sieht einfach so aus:
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
//Prameter für den Link definieren
$urlParameters = array(
$this->prefixId => array(
'userid' => 'Hallo ... ich bin ein Array',
)
);
$content .= "<a href=\"".$this->pi_getPageLink(25,'',$urlParameters)."\">Test-Link</a>";
return $this->pi_wrapInBaseClass($content);
}
Das zweite Plugin auf der Seite mit der ID 25 sieht so aus ....
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$ut = $this->piVars['userid'];
$ul = t3lib_div::_GET('userid');
$content .= $ut;
$content .= $ul;
return $this->pi_wrapInBaseClass($content);
}
Angemerkt sei noch, daß es sich auf den 2 Seiten um 2 verschiedene PlugIns handelt, die ich aber aus ein und derselben Extension erzeugt habe. Die eine hat am Ende des Namens pi1 und die andere pi2.
Vielleicht kannst Du mir jetzt etwas mehr helfen.
Besten Dank im vorraus.
Du musst den Link auch richtig erzeugen, z.B.
$link=$this->pi_linkTP('ich bin ein Link',array($this->prefixId.'[userid]'=>3) );
Alle Getvars für Dein Plugin haben immer Deine prefixId aund in [] die Parameter.
Was Dich verwirrt hat: es ist zwar ein Array, Du setzt aber den String zusammen.
Im Übrigen rate ich Dir, mal einen Blick in andere Extensions zu werfen, man lent viel durch abschauen.
GAAANZ WICHTIG:
die Zielseite darf NICHT vom Typ SysFolder sein !!!!
Auf SysFolder-Seiten wird mit pi_linkToPage(...) kein Link erzeugt! Diese Erkenntnis hat mich 2 Tage intensive Suche gekostet.
Gruß
Martin
:o Sysfolder sind doch auch keine Seiten?!? Sysfolder sind "Behälter" für Seiten....auf die einzelnen Seiten wird dann mit der UID in Kombination mit z.B. der PID von "Singelansicht" verlinkt.
Grüsse
Sissi