2013-11-11 1 views
1

Я пытаюсь изменить результат поиска каталога Magento, но пока не повезло. У меня есть как простые, так и сгруппированные/настраиваемые продукты в магазине.Результат поиска Magento, исключая дочерние продукты

Если кто-то ищет «searchTerm 1», мне нужны только родительские продукты, которые соответствуют поисковому запросу, а не те продукты, чей дочерний продукт соответствует. Я не могу установить этот дочерний продукт как «Не показывать отдельно», потому что я хочу, чтобы они также отображались отдельно (в случае сгруппированных продуктов)

E.g.

  1. Это название продукта Fruit. (Сгруппированный продукт) Чилдс являются:.. а) Это Манго заголовок продукта б) Этого название банан фрукта продукта

  2. Этого манго название Сок продукт (Сгруппированный продукт) Childs является: а.) Это сок манго тетра пак название продукта б.) Это сок манго другое название ребенок продукт

Теперь, если я ищу Mango, я должен получить только продукт # 2, т.е. это название Mango Juice продукт

ответ

1

Вы можете изменить видимость продукта для продуктов «Ребенок» в «Каталог». Таким образом, вы все равно сможете видеть эти продукты во время просмотра категорий, но при поиске они будут игнорироваться.
[EDIT]
Вы можете взглянуть на этот метод: Mage_CatalogSearch_Model_Resource_Fulltext :: _ rebuildStoreIndex. Там есть что-то о детских продуктах. Попробуйте посмотреть, можете ли вы их игнорировать.

+0

Я бы этого не сделал, потому что он игнорирует простые продукты, которые будут отображаться в результатах поиска. –

+0

есть ли способ изменить способ поиска каталогов в результатах поиска, а затем отобразить в результате, чтобы дочерние продукты игнорировались? –

+0

@tanayjha. В этом случае вы можете взглянуть на этот метод: «Mage_CatalogSearch_Model_Resource_Fulltext :: _ rebuildStoreIndex'. Там есть что-то о детских продуктах. Попытайтесь увидеть, можете ли вы игнорировать их. – Marius

1

Спасибо @Marius, он работал как шарм. Я должен был прокомментировать следующее:

/* Commented by Tanay to remove child product from search result 
if ($productChilds = $productRelations[$productData['entity_id']]) { 
    foreach ($productChilds as $productChildId) { 
     if (isset($productAttributes[$productChildId])) { 
      $productIndex[$productChildId] = $productAttributes[$productChildId]; 
     } 
    } 
} 
*/ 

 Смежные вопросы

  • Нет связанных вопросов^_^