Magento und $_POST, $_GET und $_REQUEST

Magento arbeitet mit $_POST, $_GET und $_REQUEST-Variablen etwas anders als gewohnt. Wenn man versucht, direkt auf $_GET, $_POST und $_REQUEST erhält man eine Fehlermeldung bzw. keinen Rückgabewert, da die Variablen leer sind. Somit muss man, statt die normalen globalen Variablen $_GET, $_POST und $_REQUEST zu verwenden, auf das HTTP Request Objekt zugreifen, in das Magento diese Variablen bzw. ihre Werte verpackt.

$_GET / $_REQUEST Variablen

// Normale Abfrage einer $_GET Variable
$productId = $_GET['product_id'];
 
// Magento Abfrage einer $_GET Variable
$productName = Mage::app()->getRequest()->getParam('product_name');
 
// Als zweiten Parameter könnt ihr einen Standardwert angeben, der
// zurückgegeben wird, wenn die Variable, die ihr abfragt, nicht existiert
$productName = Mage::app()->getRequest()->getParam('product_name', 'Handcreme');

$_POST Variablen

// Normale Abfrage einer $_POST Variable
$postData = $_POST;
 
// Magento Abfrage einer $_POST Variable
$postData = Mage::app()->getRequest()->getPost();
 
// Ihr könnt nun, wie in einem normalen $_POST Array, auf einzelne Werte gezielt zugreifen
if (isset($postData['product_name'])) {
  echo $postData['product_name'];
}

Diese Seite Drucken