Поиск в mmenu для запуска поиска по сайту (глобальный) - PullRequest
0 голосов
/ 23 мая 2018

Мне было интересно, можно ли при поиске в mmenu запускать поиск по веб-сайту, а не просто возвращать элементы в меню?

Результаты не нужно отображать в меню, а нажимать ввод или нажатие/ нажатие кнопки поиска приведет к глобальному поиску по веб-сайту и перенаправлению на /search.

Возможно ли это?Я уверен, что видел это где-то, но я не могу найти где.Я полагаю, что некоторые jQuery понадобятся для изменения функции кнопки отправки?

Я не уверен, важно ли это, но это будет на веб-сайте Shopify, и в заголовке есть поисковая форма, помеченная какэто:

<form action="/search" method="get" role="search" class="search"> 
    <input type="search" 
           name="q" 
           id="Search" 
           class="text-input search__input" 
           value="" 
           placeholder="Search"> 
    <button type="submit" class="search__btn"> 
        <svg class="icon icon--search"><use xlink:href="#icon-search"></use></svg>  
    </button> 
 </form>

1 Ответ

0 голосов
/ 23 мая 2018

Пара сценариев здесь

Когда разрешена перезагрузка страницы

Это самый простой сценарий, если перезагрузка страницы разрешена, ваша форма будет отправлена ​​на search?q=some search, который должен быть допустимым маршрутом для сервера, вы можете затем извлечь результаты на основе ?q=some search и отобразить их на своем интерфейсе

Когда перезагрузка страницы не разрешена

Это может быть сравнительно немного сложнее, и реализация будет зависеть от внешней среды, над которой вы работаете, но грубая реализация будет выглядеть примерно так:

  • Вы свяжете событие onFormSubmit с вашей формой
  • Когда форма будет отправлена, вы запретите ее отправку и прочитаете параметр q
  • . Вы измените состояние своего приложения, перенаправив на страницу /search с параметром q
  • Компонент / страница, отвечающая за /search, инициирует запрос результатов поиска
...