是否有Magento函数从此URL获取“id”的值:
http://example.com/path/action/id/123
我知道我可以在“/”上拆分网址来获取值,但我更喜欢单个函数。
这不起作用:
$id = $this->getRequest()->getParam('id');
时才有效
答案 0 :(得分:40)
Magento的默认路由算法使用三部分网址。
http://example.com/front-name/controller-name/action-method
所以当你打电话
http://example.com/path/action/id/123
单词path
是您的正式名称,action
是您的控制器名称,id
是您的操作方法。 这三种方法后,您可以使用getParam
来获取键/值对
http://example.com/path/action/id/foo/123
//in a controller
var_dump($this->getRequest()->getParam('foo'));
您也可以使用getParams
方法获取参数数组
$this->getRequest()->getParams()
答案 1 :(得分:7)
如果您的网址是以下结构:http://yoursiteurl.com/index.php/admin/sales_order_invoice/save/order_id/1795/key/b62f67bcaa908cdf54f0d4260d4fa847/
然后使用:
echo $this->getRequest()->getParam('order_id'); // output is 1795
如果您想获取所有网址值或参数值,请使用以下代码。
var_dump($this->getRequest()->getParams());
如果您的网址如下:http://magentoo.blogspot.com/magentooo/userId=21
然后使用它来获取url的值
echo $_GET['userId'];
如果您想了解有关此click here的更多信息。
答案 2 :(得分:0)
如果它是Magento模块,您可以使用Varien Object getter。如果它适用于您自己的模块控制器,您可能需要使用寄存器方法。
来源:http://www.vjtemplates.com/blog/magento/register-and-registry