Яша Posted September 18, 2021 Report Share Posted September 18, 2021 (edited) Всем добрый день! Подскажите, пожалуйста. На сайте работает обычный поиск с автозаполнением только по товарам. Но, на сайте добавлено много статей и оказалось нужным добавить также поиск по статьям. Я пока пытаюсь это сделать своими силами. Познания в 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. Подскажите, если кто знает как реализовать этот момент или подскажите в каком файле искать решение. Edited September 18, 2021 by Яша Quote Link to post Share on other sites
phukortsin Posted September 19, 2021 Report Share Posted September 19, 2021 В index.tpl надо переделывать фрагмент onSelect: function(suggestion){ $(".input_search").closest('form').submit(); }, и переделывать формирование строк подсказки... Quote Link to post Share on other sites
Яша Posted September 20, 2021 Author Report Share Posted September 20, 2021 В 19.09.2021 в 08:25, phukortsin сказал: В index.tpl надо переделывать фрагмент onSelect: function(suggestion){ $(".input_search").closest('form').submit(); }, и переделывать формирование строк подсказки... Спасибо Вам за ответ. То, что отображает подсказка, меня устраивает. Дело именно в переходе после нажатия на иконку поиск или на сам товар или статью в подсказке. Но, проблему я уже устранил, догадался как вывести в шаблоне также и найденные статьи по ключевому запросу. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.