Existe-t-il une fonction Magento pour obtenir la valeur "id" à partir de cette URL:
http://example.com/path/action/id/123
Je sais que je peux séparer l'URL sur "/" pour obtenir la valeur, mais je préférerais une seule fonction.
Cela ne marche pas:
$id = $this->getRequest()->getParam('id');
Cela ne fonctionne que si j'utilise http://example.com/path/action?id=123
L'algorithme de routage par défaut de Magento utilise en trois parties URL.
http://example.com/front-name/controller-name/action-method
Alors quand tu appelles
http://example.com/path/action/id/123
Le mot path
est votre nom, action
est le nom de votre contrôleur et id
est votre méthode d'action. Après ces trois méthodes, vous pouvez utiliser getParam
pour récupérer une paire clé/valeur
http://example.com/path/action/id/foo/123
//in a controller
var_dump($this->getRequest()->getParam('foo'));
Vous pouvez également utiliser la méthode getParams
pour récupérer un tableau de paramètres.
$this->getRequest()->getParams()
Si votre URL est la structure suivante: http://yoursiteurl.com/index.php/admin/sales_order_invoice/save/order_id/1795/key/b62f67bcaa908cdf54f0d4260d4fa847/
puis utilisez:
echo $this->getRequest()->getParam('order_id'); // output is 1795
Si vous voulez obtenir toutes les valeurs d'URL ou de paramètres, utilisez le code ci-dessous.
var_dump($this->getRequest()->getParams());
Si votre URL est comme ceci: http://magentoo.blogspot.com/magentooo/userId=21
puis utilisez ceci pour obtenir la valeur de l'URL
echo $_GET['userId'];
Si vous souhaitez plus d’informations sur ce sujet cliquez ici .
S'il s'agit d'un module Magento, vous pouvez utiliser le getter d'objet Varien. Si c'est pour votre propre contrôleur de module, vous pouvez utiliser la méthode register.
Source: http://www.vjtemplates.com/blog/magento/register-and-registry