製品ページが読み込まれているかどうかを確認するオブザーバーアクションセットアップがあります。そうであれば、それはすべての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¶m2=bbb
デフォルトでは、1つのパラメータだけがwww.domain.com/catalog/product/view/id/664に渡されるため、URLには他のパラメータも渡されます。 –
質問をURLの例で更新しました。 – Domas