0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 365 Просмотров
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Здравствуйте. В результатах "Умного поиска" элементы отображаются в странном порядке (предположительно, по алфавиту).
Из коробки нет возможности сделать сортировку "По дате" (новые сначала).

Рекомендуют открыть файл .../components/com_finder/models/search.php и поработать с getResultsData.

Можете что-нибудь подсказать?
Спасибо.

Фрагменты из файла ниже:

Код
// Get the row data.
$items = $this->getResultsData();

Может быть здесь в AS ordering?
Код
protected function getResultsData()
{
// Get the store id.
$store = $this->getStoreId('getResultsData', false);

// Use the cached data if possible.
if ($this->retrieve($store))
{
return $this->retrieve($store);
}

// Get the result ordering and direction.
$ordering = $this->getState('list.ordering', 'l.start_date');
$direction = $this->getState('list.direction', 'DESC');

// Get the base query and add the ordering information.
$base = $this->getListQuery();
$base->select($this->_db->escape($ordering). ' AS ordering');
$base->order($this->_db->escape($ordering). ' ' . $this->_db->escape($direction));

/*
* If there are no optional or required search terms in the query, we
* can get the results in one relatively simple database query.
*/
if (empty($this->includedTerms))
{
// Get the results from the database.
$this->_db->setQuery($base, (int) $this->getState('list.start'), (int) $this->getState('list.limit'));
$return = $this->_db->loadObjectList('link_id');

// Get a new store id because this data is page specific.
$store = $this->getStoreId('getResultsData', true);

// Push the results into cache.
$this->store($store, $return);

// Return the results.
return $this->retrieve($store);
}

Код
// Create a storage key for this set.
$setId = $this->getStoreId('getResultsData:' . serialize(array_values($ids)). ':' . $start . ':' . $limit);

Код
// Create a storage key for this set.
$setId = $this->getStoreId('getResultsData:required:' . serialize(array_values($required)). ':' . $start . ':' . $limit);
Помог? Поставь(те) плюс в репутацию.
*

sivers

  • Живу я здесь
  • 2070
  • 279 / 0
элементы отображаются в странном порядке (предположительно, по алфавиту)
Примечательная там вот эта строка:
Код
$order = $input->getWord('filter_order', $params->get('sort_order', 'relevance'));
Т.е., для получения поля сортировки он читает переданный в запросе параметр filter_order, а если его нет, то пытается взять из настроек (компонента или пункта меню?) параметр sort_order.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
На официальном форуме ответили
Цитировать
Smart Search doesn't use plugin ordering for such purpose. Only regular Search does.
https://forum.joomla.org/viewtopic.php?f=728&t=982634

И не говорят, баг это или недоработка. 🤷‍♂️
Помог? Поставь(те) плюс в репутацию.
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Ну да, на то и умный поиск что сортирует по релевантности
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает поиск на странице поиска

Автор web_signal

Ответов: 15
Просмотров: 267
Последний ответ 31.08.2022, 11:52:46
от sivers
Поиск не ищет по компоненту SP Simple Portfolio. Как включить его в поиск?

Автор mak200

Ответов: 5
Просмотров: 242
Последний ответ 01.02.2022, 15:39:17
от effrit
Индексирование файлов и полнотекстовый поиск в Joomla

Автор Semen70

Ответов: 0
Просмотров: 164
Последний ответ 24.01.2022, 19:05:55
от Semen70
Грузит ли умный поиск Joomla сервер, как обычный поиск?

Автор web1

Ответов: 0
Просмотров: 349
Последний ответ 07.10.2021, 16:14:19
от web1
Фильтр по дате Komento

Автор R31rus

Ответов: 14
Просмотров: 390
Последний ответ 10.09.2021, 21:46:54
от gartes