Magento 1.9在产品视图中获取参数

Magento 1.9在产品视图中获取参数,magento,magento-1.9,Magento,Magento 1.9,我有一个观察者动作设置,检查是否加载了产品页面。如果是这样,它将调用一个自定义帮助来处理所有GET参数。它过去工作了4年多,现在突然停止了(第三方唯一改变的是这些参数的命名) 以下是观察者的行动: public function productView($observer) { /*@var $block Mage_Core_Block_Abstract*/ $block = $observer->getEvent()->getBlock();

我有一个观察者动作设置,检查是否加载了产品页面。如果是这样,它将调用一个自定义帮助来处理所有GET参数。它过去工作了4年多,现在突然停止了(第三方唯一改变的是这些参数的命名)

以下是观察者的行动:

 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;
}
以下是助手的操作:

 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
,我会得到以下数组,其中只包含产品id:

array(1) { ["id"]=> string(3) "664" }
预期结果是能够访问产品视图中通过url传递的所有GET参数

非常感谢您的帮助或指导

编辑

产品URL与产品名称类似,如f.e.:

domain.com/red-jacket
在一个完美的情况下,我希望获得如下传递的参数:

domain.com/red-jacket?param1=aaa&param2=bbb

不确定到底是什么问题。。。但是对于
domain.com/red jacker?param1=aaa¶m2=bbb
您可以通过以下方式获取参数:

$params = Mage::app()->getRequest()->getParams();
$param1 = $params['param1']
or
$param1 = Mage::app()->getRequest()->getParam('param1');

不确定到底是什么问题。。。但是对于
domain.com/red jacker?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);
$arrParams=Mage::app()->getRequest()->getParams();
回显“获取参数”;回显“”,打印($arrparms);

//查看页面中获取参数的代码

$arrParams = Mage::app()->getRequest()->getParams();
echo "Get Parameter"; echo '<pre>', print_r($arrParams);
$arrParams=Mage::app()->getRequest()->getParams();
回显“获取参数”;回显“”,打印($arrparms);

Default在product view页面中,只有一个参数通过了www.domain.com/catalog/product/view/id/664,因此url中也传递了其他参数。我用url示例更新了问题。Default在product view页面中,只有一个参数通过了www.domain.com/catalog/product/view/id/664,因此,url中还传递了其他参数。我用url示例更新了问题。