Magento ショップを再設計します。あのショップの検索結果ページは非常にカスタマイズされていました。現在、再設計後、検索は機能しなくなりました。結果を取得するために関数が呼び出される List.php (Mage\Catalog\Block\Product\List.php) に問題を分解しました_getProductCollection()
。この関数はレイヤー$layer = $this->getLayer();
を取得し、古いバージョンとの主な違いがあります。
public function getLayer()
{
$layer = Mage::registry('current_layer');
if ($layer) {
return $layer;
}
return Mage::getSingleton('catalog/layer');
}
旧バージョンでMage::registry('current_layer');
は が設定されています。新しいバージョンでは設定されていません!return Mage::getSingleton('catalog/layer');
設定されていない場合は、すべての製品を含む新しいものを返します。
これ以上考えられない。このレイヤーが古いバージョンで設定されている場所を見つけるにはどうすればよいですか? 他に何ができますか?