Magento 1.9 在产品视图中获取参数
Magento 1.9 GET parameters in product view
我有一个观察者操作设置,用于检查是否加载了产品页面。如果是这样,它会调用处理所有 GET 参数的自定义帮助。它曾经工作了 4 年多,突然停止了(第 3 方唯一改变的是那些参数的命名)。
观察者动作如下:
public function productView($observer) {
/*@var $block Mage_Core_Block_Abstract*/
$block = $observer->getEvent()->getBlock();
if ($block && $this->getProduct()){
if ($block->getModuleName() == 'Mage_Catalog'){
$productId = $this->getProduct()->getEntityId();
//If params exist - save
if ($this->ParamsHelper()->saveParams($productId)){
//code omitted
}
}
}
}
助手的操作如下:
public function saveParams($productId) {
if (is_numeric($productId)){
$params = Mage::app()->getRequest()->getParams();
if (!empty($params['image']) && !empty($params['config'])){
//never gets here
return true;
}
}
return false;
}
如果我尝试 var_dump $params
,我得到以下仅包含 product_id 的数组:
array(1) { ["id"]=> string(3) "664" }
预期结果是能够在产品视图中访问通过 url 传递的所有 GET 参数。
非常感谢任何帮助或指导。
编辑
产品 URL 类似于产品名称,例如 f.e.:
domain.com/red-jacket
在完美的情况下,我希望得到如下传递的参数:
domain.com/red-jacket?param1=aaa¶m2=bbb
不确定确切的问题是什么......但是对于 domain.com/red-jacket?param1=aaa¶m2=bbb
你可以通过这种方式获取参数:
$params = Mage::app()->getRequest()->getParams();
$param1 = $params['param1']
or
$param1 = Mage::app()->getRequest()->getParam('param1');
//查看页面获取参数代码
$arrParams = Mage::app()->getRequest()->getParams();
echo "Get Parameter"; echo '<pre>', print_r($arrParams);
我有一个观察者操作设置,用于检查是否加载了产品页面。如果是这样,它会调用处理所有 GET 参数的自定义帮助。它曾经工作了 4 年多,突然停止了(第 3 方唯一改变的是那些参数的命名)。
观察者动作如下:
public function productView($observer) {
/*@var $block Mage_Core_Block_Abstract*/
$block = $observer->getEvent()->getBlock();
if ($block && $this->getProduct()){
if ($block->getModuleName() == 'Mage_Catalog'){
$productId = $this->getProduct()->getEntityId();
//If params exist - save
if ($this->ParamsHelper()->saveParams($productId)){
//code omitted
}
}
}
}
助手的操作如下:
public function saveParams($productId) {
if (is_numeric($productId)){
$params = Mage::app()->getRequest()->getParams();
if (!empty($params['image']) && !empty($params['config'])){
//never gets here
return true;
}
}
return false;
}
如果我尝试 var_dump $params
,我得到以下仅包含 product_id 的数组:
array(1) { ["id"]=> string(3) "664" }
预期结果是能够在产品视图中访问通过 url 传递的所有 GET 参数。
非常感谢任何帮助或指导。
编辑
产品 URL 类似于产品名称,例如 f.e.:
domain.com/red-jacket
在完美的情况下,我希望得到如下传递的参数:
domain.com/red-jacket?param1=aaa¶m2=bbb
不确定确切的问题是什么......但是对于 domain.com/red-jacket?param1=aaa¶m2=bbb
你可以通过这种方式获取参数:
$params = Mage::app()->getRequest()->getParams();
$param1 = $params['param1']
or
$param1 = Mage::app()->getRequest()->getParam('param1');
//查看页面获取参数代码
$arrParams = Mage::app()->getRequest()->getParams();
echo "Get Parameter"; echo '<pre>', print_r($arrParams);