Есть дополнение живот поиск
При вводе ключевых слов приходят подсказки с совпадениями в заголовках. При нажатии на эти подсказки сразу перебрасывает на публикацию. Мне нужно, чтобы это ключевое слово в строке поиске искала все публикации с этим ключевым словом.
Что редактировать в файле, чтобы решить эту проблему?
widget_autocomplete.php
<?php class actionSearchWidgetAutocomplete extends cmsAction { public function run() { if (!$this->request->isAjax() || !($term = $this->request->get('term', ''))) { return cmsCore::error404(); } $query = $this->request->get('term', ''); $type = $this->request->get('type', 'words'); $date = $this->request->get('date', 'all'); $order_by = $this->request->get('order_by', $default_order_by); return cmsCore::error404(); } return cmsCore::error404(); } return cmsCore::error404(); } $result_all = []; if ($this->request->has('term')) { if (!$query || !$this->model->setQuery($query)) { cmsUser::addSessionMessage(LANG_SEARCH_TOO_SHORT, 'error'); return $this->redirectToAction(''); } $this->model->setSearchType($type); $search_controllers = cmsEventsManager::hookAll('fulltext_search', $this, []); foreach ($search_controllers as $search_controller) { foreach ($search_controller['sources'] as $sources_name => $sources_title) { continue; } continue; } $this->model->filterDateInterval($date); $this->model->applyJoins($search_controller['joins'][$sources_name]); } $this->model->filterSearch($search_controller['filters'][$sources_name]); } $this->model->setMatchFields($search_controller['match_fields'][$sources_name])->filterQuery(); $results_count = $this->model->getCount($search_controller['table_names'][$sources_name], false); if ($results_count) { $this->model->selectList($search_controller['select_fields'][$sources_name]); $result = $this->model->getSearchResults($search_controller['table_names'][$sources_name]); foreach ($result as $key => $item) { $item, $this->model, $sources_name, $search_controller['match_fields'][$sources_name], $search_controller['select_fields'][$sources_name] ]); if ($result[$key] === false) { } } } } $this->model->resetFilters(); } } } $results = []; foreach ($result_all as $item) { 'id' => $item['id'], 'url' => $item['url'], 'image' => html_image_src($item['photo'], 'micro', true) ); } // Ограничиваем до 8 результатов return $this->cms_template->renderJSON($results); } }