[英]magento - quick search returns all products
從1.4升級到1.5后,快速搜索將返回所有產品。 高級搜索工作得很好。 我已經清除了緩存並重新索引了所有內容,但仍然沒有。 有什么想法嗎?
搜索也不會應用管理員中設置的最小查詢長度(即,我可以不輸入任何內容並仍然顯示所有內容)。 在LIKE或FULLTEXT搜索之間切換似乎什么都不做。
我已經看到這個Magento Search返回所有產品但我的所有插件都是最新的(我沒有任何搜索插件)。
我為此奮斗了好幾天,事實證明, catalogsearch / layer塊最終會調用搜索引擎並將結果存儲在catalogsearch_results表中。
搜索結果列表塊只是對product_id列(以及LIKE或FULLTEXT過濾器)上的catalogsearch_results表連接的產品集合的簡單查詢。
因此,簡而言之,在您的一個布局XML文件(或您的local.xml)中,請確保您擁有以下代碼:
<catalogsearch_result_index>
<reference name="left">
<block type="catalogsearch/layer" name="catalogsearch.leftnav" template="catalog/layer/view.phtml"/>
</reference>
</catalogsearch_result_index>
當然,您可以將它放在任何其他塊(不僅僅是左側 )中,但要確保在catalogsearch / result塊(XML中的別名為“search.result”)之前在句柄中的某處引用它。
如果使用remove標記刪除了圖層導航,則必須為塊使用不同的名稱(而不是“catalogsearch.leftnav”)。
如果您甚至需要從搜索結果頁面隱藏它,請將其保留在XML中,但使用CSS隱藏它:
.block-layered-nav {
display: none;
}
我希望這可以幫助一些其他可憐的靈魂受到這種設計模式的憎惡折磨。
我通過編輯app / code / core / Mage / CatalogSearch / Block Result.php來解決問題
取消注釋149和150行
$this->getListBlock()
->setCollection($this->_getProductCollection());
並改變第172行:
$this->_productCollection = $this->getListBlock()->getLoadedProductCollection();
至:
$this->_productCollection = Mage::getSingleton('catalogsearch/layer')->getProductCollection();
您是否使用具有分層搜索結果的2列布局... catalog / layer / view.phtml? 我注意到,當我切換到1列布局並刪除分層導航時,結果將所有不匹配結果的產品返回到我的搜索查詢。
請訪問此鏈接
http://www.learnmagento.org/magento-bug-fixes/magento-search-showing-all-products/
如果您的Magento搜索正在索引搜索結果頁面上的所有產品,並且搜索過濾器無法正常工作,那么這是解決方案:
轉到模板文件夾, app/design/frontend/default/your-theme/
在這里你會找到一個名為/ template /的文件夾。 在里面它會有另一個文件夾, /catalogsearch/
只需將其重命名為/catalogsearch.bak/
現在轉到app/design/frontend/base/template/catalogsearch/
。 復制此文件夾並將其復制到app/design/frontend/default/your-theme/template/
同時將catalogsearch.xml
從app/design/frontend/base/layout/ to app/design/frontend/default/default/layout/
復制app/design/frontend/base/layout/ to app/design/frontend/default/default/layout/
我今天遇到了這個問題,可能不是你的問題的原因,但我的Aitoc分層導航專業擴展需要升級。
我可以看到分層導航顯示正確的過濾器,但產品錯誤,只要我點擊一個過濾器就會自行更正。
Aitoc的問題在於,如果您在6個月前購買了擴展程序,則必須支付升級費用。
它很笨拙,但作為一個緊急的快速修復,我只是調用了adj_nav_make_request(); 頁面加載后刷新產品列表的javascript函數。
希望這有助於某人......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.