Magento - сортировка / заказ предложений в форме поиска автозаполнения - PullRequest
1 голос
/ 11 июня 2011

как мне изменить сортировку / порядок в предложениях формы поиска автозаполнения.

Я использую Magento версии 1.4.1.1

Спасибо за помощь.

1 Ответ

3 голосов
/ 11 июня 2011

Чтобы сделать это быстро, скопируйте /app/code/core/Mage/CatalogSearch/Model/Mysql4/Query/Collection.php в / app / code / local / Mage/CatalogSearch/Model/Mysql4/Query/Collection.php в локальном файле области поиска найдите эту строку:

->order('popularity desc');

и замените ее следующим:

->order('query_text asc');

Этого достаточно, чтобы сделать эторабота.

Если вас интересует, как это работает здесь, вы идете.

  1. form.mini.phtml отправляет запрос в suggestAction функцию Mage_CatalogSearch_AjaxController через следующий URL: http://www.yourdomain.com/catalogsearch/ajax/suggest?q=query (может быть весьма полезно для отладки).
  2. Затем экземпляр Mage_CatalogSearch_Block_Autocomplete делает запрос к базе данных catalogsearch_query из таблицы через getSuggestCollection вызов функции.
  3. Внутри этой функциифактическая коллекция создана, но по некоторым причинам я не смог применить к ней функцию setOrder, поэтому мне пришлось копать на один шаг глубже.
  4. Подсказка кроется в функции setQueryFilter из файла, который вы только что скопировали выше,Замена метода заказа сделала свое дело.

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...