2017-06-29 9 views
0

製品ページが読み込まれているかどうかを確認するオブザーバーアクションセットアップがあります。そうであれば、それはすべてのGETパラメータを扱うカスタムヘルプを呼び出します。それは4年以上働いていて、突然停止しました(第三者側で変更された唯一のものは、これらのパラメータの名前です)。Magento 1.9製品ビューのパラメータGET

はここオブザーバーアクションさ:

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

私は$paramsをのvar_dumpしようとした場合、私は、以下を含む配列を取得しますproduct_id:

array(1) { ["id"]=> string(3) "664" } 

期待される結果は、製品ビューでurlを介して渡されたすべてのGETパラメータにアクセスできることです。

ご迷惑をおかけして申し訳ございません。

EDIT

製品のURLは、Feのような、製品名に似ています:

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

デフォルトでは、1つのパラメータだけがwww.domain.com/catalog/product/view/id/664に渡されるため、URLには他のパラメータも渡されます。 –

+0

質問をURLの例で更新しました。 – Domas

答えて

1
を:完璧な場合
domain.com/red-jacket 

、私は次のように渡されたパラメータを取得することを期待します

正確な問題は何か分かりませんが、domain.com/red-jacket?param1=aaa&param2=bbbの場合、このようにパラメータを取得できます:

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

//ビューページでパラメータを取得するためのコード。

$arrParams = Mage::app()->getRequest()->getParams(); 
echo "Get Parameter"; echo '<pre>', print_r($arrParams); 
関連する問題