Яша Опубликовано 18 сентября, 2021 Жалоба Поделиться Опубликовано 18 сентября, 2021 (изменено) Всем добрый день! Подскажите, пожалуйста. На сайте работает обычный поиск с автозаполнением только по товарам. Но, на сайте добавлено много статей и оказалось нужным добавить также поиск по статьям. Я пока пытаюсь это сделать своими силами. Познания в php, js есть небольшие. Я добавил в файл search_products.php такой код // получение статей $simpla->db->query("SELECT a.name, a.image FROM __articles a WHERE (a.name LIKE '%$kw%' OR a.meta_keywords LIKE '%$kw%') AND visible=1 ORDER BY a.name LIMIT ?", $limit); $articles = $simpla->db->results(); foreach($articles as $article) { $suggestion = new stdClass(); $suggestion->value = $article->name; $suggestion->image = $article->image; $suggestion->table = 'articles'; $suggestions[] = $suggestion; } а в index.tpl if (suggestion.table === 'products') { return (suggestion.data.image?"<img align=absmiddle src='"+suggestion.data.image+"'> ":'') + suggestion.value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } else if (suggestion.table === 'articles') { return (suggestion.image?"<img align=absmiddle src='files/articles/"+suggestion.image+"'> ":'') + suggestion.value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>'); } и теперь в автозаполнение в поиске на сайте выводятся статьи. Но, когда я нажимаю в блоке автозаполнения на само название статьи, то при переходе на страницу поиска этой статьи там нет, страница пустая. В файле articles.tpl есть такой код {elseif $keyword} {$canonical="/search?keyword={$keyword|escape}" scope=parent} И в файле products.tpl есть код {elseif $keyword} {$canonical="/products?keyword={$keyword|escape}" scope=parent} Но, какую бы статью в автозаполнении в поиске я не нажимал все идет переход на шаблон products.tpl. Я так понимаю, что если я выбираю статью в поиске, то переход должен идти на шаблон articles.tpl. Подскажите, если кто знает как реализовать этот момент или подскажите в каком файле искать решение. Изменено 18 сентября, 2021 пользователем Яша Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 19 сентября, 2021 Жалоба Поделиться Опубликовано 19 сентября, 2021 В index.tpl надо переделывать фрагмент onSelect: function(suggestion){ $(".input_search").closest('form').submit(); }, и переделывать формирование строк подсказки... Цитата Ссылка на сообщение Поделиться на другие сайты
Яша Опубликовано 20 сентября, 2021 Автор Жалоба Поделиться Опубликовано 20 сентября, 2021 В 19.09.2021 в 08:25, phukortsin сказал: В index.tpl надо переделывать фрагмент onSelect: function(suggestion){ $(".input_search").closest('form').submit(); }, и переделывать формирование строк подсказки... Спасибо Вам за ответ. То, что отображает подсказка, меня устраивает. Дело именно в переходе после нажатия на иконку поиск или на сам товар или статью в подсказке. Но, проблему я уже устранил, догадался как вывести в шаблоне также и найденные статьи по ключевому запросу. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.