
В рамках более глубокого знакомства с vue в частности с появившимся недавно Composition Api сделал на Vue небольшой компонент, который по функционалу повторяет встроенный компонент Поиск. Из него же берутся поисковые результаты для вывода, поэтому если что-то хотите настроить по поиску, меняйте в компоненте Поиск.
Как использовать
Вместе с компонентом идет виджет ZПоиск, который надо разместить на сайте. Виджет представляет из себя иконку поиска, при нажатии на которую поверх сайта откроется форма поиска. Весь поиск происходит по ajax, без переходов на другие страницы. Всегда можно закрыть форму и продолжить пользоваться сайтом.
Все адаптивно
А если типов контента в поиске много, появится возможность поскролить список типов вправо.
Минимальная нагрузка
Виджет поиска содержит только один небольшой js скрипт, который загрузит все остальные скрипты, нужные поиску, только после нажатия на иконку поиска. Поэтому виджет можно смело ставить на все страницы сайта.
Демо
Попробовать поиск можно на демо demo.bergorod.ru
Жмите на иконку поиска в шапке рядом с Войти
Ограничения
Работает на 2.17.1 и свежее. Только для modern шаблона и дочерних. Предоставляется как есть. Могут быть баги, пишите — поправлю.
Вы всегда можете отключить компонент и виджет и использовать обычный поиск.
Если вы используете modern без доработок, не забудьте указать navbar-dark в поле Класс CSS для контейнера, иначе иконка поиска будет того же цвета, что и обычные ссылки.
Офигенная штука ) потестил на демо, супер. Спасибо
Первая вкладка новости, повторяет записи, вместо трех показывает 6 найденных. Во второй вкладке вроде четко
По какой фразе ищете? На демо или на своем сайте проблема?
На вашем сайте, например слово «страна». Я много слов пробовал в первой вкладке дублируется. Я с мобилы тестю, подозреваю дело в автопогрузке на странице с которой открываешь поиск .
С компа нормально, с мобилы нет.
UPD на моем сайте все отлично
Ну не знаю.
В обычном поиске также. Я поэтому и акцентировал на этом внимание.
Это просто другой внешний вид.
А вот почему так в обычном поиске, надо разбираться, но это тема для другой серии фильма.
Ясно. Да, поиск в инстант не айс эт точно.
Давно хочу нормальный поиск. Попробую поставить 😎
Поставил. Работает, красота. Сайт теперь прям как яндекс ))
мне вот интересно а можно выводить существующие поля в списке поиска?
Можно. Делал вывод цены и размера для одного интернет магазина. И в коробочный поиск заложена возможность передать имена доп.полей, которые нужны в результатах поиска.
Но это потребует доп.доработок, типа админку компонента для выбора этих полей и т.п… Таких планов нет.
Если у вас есть свободное время, То можно обсудить доработку.
А можно ли вывести на главной странице форму поиска без иконки?
А иконка настроек поиска? Ее не убрать. И тогда иконка поиска совсем и не мешает в паре с иконкой настроек.
Я про, чтотоб изменить внешний вид страницы /search, как в виджете.
Я думаю он хичет поставить ваш поиск в сам поиск инстант, вот так.
Я думаю что нет, ему нужно визуализировать вместо иконки типа поле ввода поиска, при клике открывается сам поиск. Это не сложно сделать с помощью CSS как и текст добавить туда аля «поиск».
Значит я не так понял. Да и до сих пор не понял.
И я не понял. Поэтому ответа и не будет :)
Да вместо иконки лупы, до открытия формы, сделать форму ввода ( как системную) только при клике на нее открывать вашу форму. Короче кнопку открытия сделать полем ввода .
П. С. Мне не надо я просто помогаю расшифровать ))
А по проблеме дублирования поисковой записи будет решение ?
Стиль, который открывается при клике на лупу сделать такой же на стандартной странице /search + сам виджет раскрытый уже, без лупы.
Все таки проблема есть на моб устройстве. Причем не на всех. Видимо от разрешения зависит. пробовал также на страницах где нет автоподшрузки контента все равно появляется то один то два
Интересует, исправление данного бага.
В процессе.
Нужны тесты. Скачайте архив по ссылке disk.yandex.ru/d/kZfNvytsXO1p0w (новая)
Распакуйте. Файл из архива положите в папку templates/modern/controllers/zsearch/js/ согласившись на замену
Потом в настройках сайта увеличьте Абстрактный счетчик и сохраните настройки. Это важно. Меняется js файл, важно, чтобы кеш браузера не мешал.
Потом обновите страницу с виджетом и пробуйте повторить проблему.
У меня после замены файла поиск вообще работать отказался.
Виджет открывается. После написания поискового запроса при попытке нажать кнопку «поиск» ничего не происходит.
Спасибо за тесты. Обновил архив и ссылку в комменте выше. Должно работать.
Спасибо. Всё заработало.
А проблема с дублированием результатов пропала?
Поэкспериментировал с разными поисковыми запросами. Дублирование иногда появляется, иногда нет. Чаще появляется, чем нет.
аналогично
Обновил демо. Попробуйте поймать проблему там.
И опишите порядок действий, чтобы можно было повторить...
Ну вот....
Порядок действий очень простой:
Нажимаем на иконку поиска.
Вводим поисковый запрос.
Получаем результат.
Тоже самое, но у меня исключительно только на мобиле
Чувствую, не удалось проблему поймать...
Спасибо большое!
Подскажите, а не заливать все страницу страницу можно? Чтобы просто в модальном окне форма открывалась.
Задайте ширину и высоту как вам нужно
да неужели? вас никто не спрашивал
пффф… а вы что хотели услышать что там есть кнопка?) Так вот, ее там нет)
Как то так попробуйте. Ну эт на глаз. С цифрами надо играть на вкус и цвет.