产品视图中的 Magento 1.9 GET 参数

Dom*_*mas 1 magento magento-1.9

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

这是观察者动作:

 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
                }
            }
        }

}
Run Code Online (Sandbox Code Playgroud)

这是助手的操作:

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;
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试 var_dump $params,我会得到以下仅包含 product_id 的数组:

array(1) { ["id"]=> string(3) "664" }
Run Code Online (Sandbox Code Playgroud)

预期的结果是能够在产品视图中访问通过 url 传递的所有 GET 参数。

非常感谢任何帮助或指导。

编辑

产品 URL 类似于产品名称,例如 fe:

domain.com/red-jacket
Run Code Online (Sandbox Code Playgroud)

在完美的情况下,我希望得到如下传递的参数:

domain.com/red-jacket?param1=aaa&param2=bbb
Run Code Online (Sandbox Code Playgroud)

小智 7

不确定确切的问题是什么......但是domain.com/red-jacket?param1=aaa&param2=bbb你可以通过这种方式获取参数:

$params = Mage::app()->getRequest()->getParams();
$param1 = $params['param1']
or
$param1 = Mage::app()->getRequest()->getParam('param1');
Run Code Online (Sandbox Code Playgroud)