Zum Inhalt springen

Get Parameter auslesen über t3lib_div::_GET() funktioniert nicht

Erstellt am 18. März 2014 · 9 Antworten · letzte Antwort am 31. März 2014

Tags: PHP, Frage

oliando ·

Hi!

Ich habe eine kleine Extension gebaut. Dort möchte ich nun über php die GET Parameter in meiner List Action auslesen bzw. erst einmal im Frontend anzeigen lassen.

print_r(t3lib_div::_GET());

Wenn ich den Code in meiner Action einsetze wird das Frontend nicht mehr gerendert und ich bekomme über den Firebug folgenden Fehler:

500 Internal Server Error.

Wenn ich den Code z.B. in die FormAction von Powermail integriere funktioniert die Ausgabe der Get Daten einwandfrei.

Woran kann das liegen? Muss die Klasse t3lib_div noch inizialisiert werden?

Gruß Oliando

horaz ·

Das kann einige Gründe haben, so sollte es eigentlich funktionieren:

$getvar =  t3lib_div::_GET();
$nameDeinerNeuenVariable = $getvar['nameDeinerVariablen'];

Ich hatte exakt das gleiche Problem mit _GP(); Das lag an meinen Klassenableitungen, leitest du von pibase ab:

class tx_tx_meineKlasseBlaBlaBla extends tslib_pibase

Ansonsten wäre auch die TYPO3-Version hilfreich. Allerdings kann ich mich nicht erinnern dass innerhalb der letzten Versionen was an t3lib_div::_GET(); geschraubt wurde.

Viele Grüße,
Horaz

oliando ·

Vielen Dank für eure Tipps!
Ich verwende TYPO3 6.0.8. Was mich wundert ist, dass wenn ich die Klasse in eine Powermail Action wie der FormAction einsetze, dann werden mir alle Get Parameter ausgespuckt.

Ich leite meine Klasse wie folgt ab:

namespace TYPO3\Bsemob\Controller;
class FahrzeugdatenController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController

Habe aus dem Core schon andere Methoden ausprobiert. Das gleiche Problem.

Kann es an der Klassenableitung liegen?

jenses ·

Hast du es mal mit einem einfachen

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->request, '$this->request');

in deiner action versucht?

oliando ·

Hej jenses!

Habe ich in meine listAction eingebaut. Hat funktioniert.
Dadurch werden mir alle Extension und TYPO3 Daten ausgegeben (debugged).
Da ich noch Anfänger bin, was heißt das für mich?

Gruß Oliando

jenses · · Beste Antwort

Eh? Taucht denn dein gesuchter GET-Wert im request-debug auf oder nicht?
Wenn ja, kannst du sie mit den entsprechenden Funktionen der gewünschten Variable zuweisen und weiterverarbeiten.

if ($this->request->hasArgument('nameDeinerVariablen')) {
	$nameDeinerVariablen = $this->request->getArgument('nameDeinerVariablen');
	// ...weiterer Code ...
}
oliando ·

Hej Jenses!

Dank deiner Hilfe konnte ich es lösen. Das Problem lag darin, dass ich keine Get - Parameter auslesen konnte, da keine da waren. :-) Habe die Struktur meiner Extension umgebaut.
Jetzt funktioniert alles.
Thx.