2012-07-03 2 views
1

Magento 빠른 검색에 약간의 문제가 있습니다. 나는 상자에 검색 할 때이 ice 또는 제목에 machine을 가지고 어디에Magento 빠른 검색

ice machine

그런 다음 모든 retuernd됩니다 말한다. 제목에 정확한 문자열 ice machine이있는 제품 만 검색하면됩니다.

"ice machine"을 두 번 연설 표식에 넣으면 정확히 일치하는 제품 이름 만 표시된다는 것을 알았습니다.

두 가지 단어가 검색 쿼리에서 자동으로 추가되므로 두 단어가 모두 별도로 검색되지는 않습니다.

HTML 형식으로이 작업을 수행 할 수있는 방법이 있습니까?

답변

2

이 문제는 MagentoCommerce 포럼에서 여러 번 다루고 있습니다. 유사 검색 논리가 AND에서 OR로 변경되었습니다. 더 나은 결과를 얻으려면 검색 쿼리의 모든 항목이 일치해야하므로 AND로 다시 변경해야합니다.

Search Logic Fix

응용 프로그램/코드/코어/마법사/CatalogSearch/모델/Mysql4/Fulltext.php 클래스 public function prepareResult($object, $queryText, $query)

다음 코드 조각을 찾을 수에서 :

if ($like) { 
    $likeCond = '(' . join(' OR ', $like) . ')'; 
} 

을 필요가 있습니다.

자신의 재 작성 모듈을 만들어이 클래스를 덮어 쓰거나 전체 파일 Fulltext.php를 app/code/local/Mage/CatalogSearch/Model/Mysql4/Fulltext.php으로 복사하고 또는을 수정하여 덮어 씁니다. . 모듈이 바람직합니다.

0

자바 스크립트를 사용하여 양식을 사용할 수 있지만 고객이 이미 큰 따옴표를 입력했는지 조심해야합니다.
내 제안은 Mage_CatalogSearch_Helper_Data 도우미를 다시 작성하고 getQueryText() 메서드를 재정의하는 것입니다. 거기에 기존의 견적을 인용 할 수 있으며 쿼리 주위에 자신의 견적을 추가 할 수 있습니다.

+0

이 작업을 수행하는 방법을 모르겠습니까? – Matt

+0

Magento 도우미 (또는 모델 또는 블록)를 다시 작성하는 방법에 대한 많은 정보 출처가 있습니다. 이 질문의 범위를 벗어나지 만 Magento를 효과적으로 사용자 지정하는 방법을 배우고 싶다면 ** 알아야합니다 **. Alan Storm의 훌륭한 소개는 http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-1-introduction-to-magento를 확인하십시오. – Vinai