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

slepoy

  • Давно я тут
  • 753
  • 24 / 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

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

slepoy

  • Давно я тут
  • 753
  • 24 / 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

И не говорят, баг это или недоработка. 🤷‍♂️

Обновлено: Ссылка выше совсем про другую тему. Я перепутал 🤷‍♂️
« Последнее редактирование: 12.10.2022, 21:40:12 от slepoy »
Помог? Поставь(те) плюс в репутацию.
*

voland

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

Как сделать отображение времени создания материала?

Автор Pzhigalov

Ответов: 0
Просмотров: 421
Последний ответ 27.09.2023, 22:45:29
от Pzhigalov
Поиск в Материал- Блог категории

Автор mag_num83

Ответов: 1
Просмотров: 425
Последний ответ 14.09.2023, 20:36:34
от beliyadm
Умный поиск не ищет контент по фрагменту слова

Автор slepoy

Ответов: 10
Просмотров: 2093
Последний ответ 06.11.2022, 16:47:32
от slepoy
Не работает поиск на странице поиска

Автор web_signal

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

Автор mak200

Ответов: 5
Просмотров: 466
Последний ответ 01.02.2022, 15:39:17
от effrit