Подскажите, у кого не работает статистика поисковых слов в админке (модуль statssearch) при включенном Amazzing filter?
Почему-то авторы модуля, переопределив стандартый класс SearchProductSearchProvider, забыли запустить хук actionSearch, по которому работает модуль statssearch.
Год назад я писал им об ошибке в модуле, но мне отбрехались, что у них все норм.
Решение проблемы:
файл AmazzingFilterProductSearchProvider.php
Код:
public function runQuery(
ProductSearchContext $context,
ProductSearchQuery $query
) {
$products = $this->context->filtered_result['products'];
$total = $this->context->filtered_result['total'];
$sorting_options = $this->getAvailableSortOrders();
$result = new ProductSearchResult();
$result->setProducts($products)->setTotalProductsCount($total)->setAvailableSortOrders($sorting_options);
if (!empty($this->context->forced_sorting)) {
$so = new SortOrder('product', $this->context->forced_sorting['by'], $this->context->forced_sorting['way']);
$query->setSortOrder($so);
}
if (!empty($this->context->forced_nb_items)) {
$query->setResultsPerPage($this->context->forced_nb_items);
}
// $query
// ->setQueryType('products')
// ->setSortOrder(new SortOrder('product', 'date_add', 'desc'))
// ;
if ($string = $query->getSearchString()) {
$queryString = Tools::replaceAccentedChars(urldecode($string));
Hook::exec('actionSearch', [
'searched_query' => $queryString,
'total' => $total,
// deprecated since 1.7.x
'expr' => $queryString,
]);
}
return $result;
}