именно такой функционал, как на расширениях вряд-ли подойдёт, т.к. для этого надо, чтобы все элементы сразу были на странице.
Лучше посмотреть в сторону autocomplete
как раз и делал на autocomplete. Но хочу расширить функционал.
Поиск сделать блоком, который будет отображаться при активировании самого поля поиска, в котором будут некоторые дополнительные данные. И тут логично сделать мгновенное отображение результата в самом блоке.
у меня не получилось вывести результат autocomplete вьюсром. Если это возможно, тогда тот набор доп. данных, которые необходимо вывести в появляющийся блок поиска я выведу вьюсом
да, не совсем правильно и понятно описал.
Пользователь начинает вводить данные в поисковую строку, autocomplete находить подходящие и предлагает их в выпадающий список. Можно ли этот выпадающий список заменить представлением, чтоб можно было редактировать его по своему усмотрению (добавлять доп поля, доп блоки и т.п.)?
первое просто отображает выпадающий список из индексируемых полей либо из макетов материала. Второй, как я понимаю, позволяет сделать это блоком.
Я хочу отобразить еще и свои данные в этот блок. Но задумался, как лучше это сделать. Если весь поиск делать блоком, то как осуществить отображение результата без нажатия enter - на лету
Так в чём проблема то? Ставим Search API и Search API Autocomplete. Делаем поисковый индекс. Делаем вьюху по поисковому индексу с фильтром по текстовым полям. Добавляем к вьюхе возможность автокомплита и настраиваем его - выводим тупо подсказки, либо результаты как заголовки ссылками, либо как режимы отображения. Во вьюхе с поиском ставим галочку "Показывать раскрытую форму в блоке" и добавляем этот блок, куда надо.
Сделал вьюху с фильтром, поиск работает, аутокоплит тоже, но простой выпадающий список. А вот дальше стопор, не могу понять, как этот список подменить своей вьюхой.
Нельзя его подменить вьюхой. Но можно настроить, чтобы он выводил вью-моды (режимы отображения). Нужно создать специальный режим отображения и темизировать его, и будет счастье.
Хорошо, это я понял и сделал.
Но еще раз уточню, данными модулями (search api, search autocomplete, search api autocomplete) можно, чтобы не в выпадающий список предлагала автоподбор, а непосредственно в блок вьюхи, т.е. результат автоподбора/поиска отображался в блоке не по нажатию enter или кнопки поиска, а по мере набора в строке поиска?
Охотно верю, но не вижу почему раскрытый фильтр с автосабмитом не может работать точно так же, и без обязательной предварительной подгрузки всего контента.
Сейчас попробовал реализовать с постраничным навигатором с помощью модуля bef, что-то похожее, что я хочу и, как я понимаю, без предварительной загрузки всего контента. Единственный минус пока это то, что теряется фокус поля после автосабмита.
Да, так я сделал изначально. Но решил улучшить. Чтобы автоподбор свой результат не в выпадающий список вставлял, а непосредственно в блок.
Т.к. я не нашел готового решения, решил хотя бы сделать как в расширениях, что тоже не совсем правильно, т.к. придется подгружать сразу все данные.
Но, в любом случае, спасибо за помощь.
Лучше я покажусь дурачком, переспрашивая, но постараюсь разобраться, чем сказать, что понял, но так ничего не поняв.
correptum wrote: можно, чтобы не в выпадающий список предлагала автоподбор, а непосредственно в блок вьюхи, т.е. результат автоподбора/поиска отображался в блоке не по нажатию enter или кнопки поиска, а по мере набора в строке поиска?
Сомневаюсь. Я бы использовал раскрытый фильтр Views и прикрутил бы скрипт, который сабмитил бы форму фильтра по AJAX при каждом изменении значения поля фильтра. Кажется модуль Better Exposed Filters умеет это из коробки.
Комментарии
именно такой функционал, как на расширениях вряд-ли подойдёт, т.к. для этого надо, чтобы все элементы сразу были на странице.
Лучше посмотреть в сторону autocomplete
как раз и делал на autocomplete. Но хочу расширить функционал.
Поиск сделать блоком, который будет отображаться при активировании самого поля поиска, в котором будут некоторые дополнительные данные. И тут логично сделать мгновенное отображение результата в самом блоке.
тогда придётся рендерить на страницу сразу все возможные варианты, именно так и работает в расширениях.
Search Api Autocomplete умеет вместо подсказок показывать вью-моды.
но не мгновенно же ...
у меня не получилось вывести результат autocomplete вьюсром. Если это возможно, тогда тот набор доп. данных, которые необходимо вывести в появляющийся блок поиска я выведу вьюсом
не совсем понятно, что значит
да, не совсем правильно и понятно описал.
Пользователь начинает вводить данные в поисковую строку, autocomplete находить подходящие и предлагает их в выпадающий список. Можно ли этот выпадающий список заменить представлением, чтоб можно было редактировать его по своему усмотрению (добавлять доп поля, доп блоки и т.п.)?
вам же уже написали, что это можно
предполагал, что так. Теперь убедили. Пойди дальше изучать как.
Спасибо.
Пользуюсь Search Autocomplete (не путать с Search Api Autocomplete). Меня устраивает.
первое просто отображает выпадающий список из индексируемых полей либо из макетов материала. Второй, как я понимаю, позволяет сделать это блоком.
Я хочу отобразить еще и свои данные в этот блок. Но задумался, как лучше это сделать. Если весь поиск делать блоком, то как осуществить отображение результата без нажатия enter - на лету
Так в чём проблема то? Ставим Search API и Search API Autocomplete. Делаем поисковый индекс. Делаем вьюху по поисковому индексу с фильтром по текстовым полям. Добавляем к вьюхе возможность автокомплита и настраиваем его - выводим тупо подсказки, либо результаты как заголовки ссылками, либо как режимы отображения. Во вьюхе с поиском ставим галочку "Показывать раскрытую форму в блоке" и добавляем этот блок, куда надо.
Что-то на подобие такого поиска сделать
И в чём проблема? Берите и делайте.
видимо в том, что не разобрался в Search API Autocomplete.
А что конкретно непонятно?
Сделал вьюху с фильтром, поиск работает, аутокоплит тоже, но простой выпадающий список. А вот дальше стопор, не могу понять, как этот список подменить своей вьюхой.
Нельзя его подменить вьюхой. Но можно настроить, чтобы он выводил вью-моды (режимы отображения). Нужно создать специальный режим отображения и темизировать его, и будет счастье.
Хорошо, это я понял и сделал.
Но еще раз уточню, данными модулями (search api, search autocomplete, search api autocomplete) можно, чтобы не в выпадающий список предлагала автоподбор, а непосредственно в блок вьюхи, т.е. результат автоподбора/поиска отображался в блоке не по нажатию enter или кнопки поиска, а по мере набора в строке поиска?
У меня вот так работает https://prnt.sc/vikv5w
Да это понятно, а топикстартер-то хочет как на /admin/modules.
Мне кажется там банальный раскрытый фильтр с автосабмитом. И с Аяксом, ессно.
Там полная таблица результатов фильтруется на месте через жквери без всяких аяксов.
Охотно верю, но не вижу почему раскрытый фильтр с автосабмитом не может работать точно так же, и без обязательной предварительной подгрузки всего контента.
Сейчас попробовал реализовать с постраничным навигатором с помощью модуля bef, что-то похожее, что я хочу и, как я понимаю, без предварительной загрузки всего контента. Единственный минус пока это то, что теряется фокус поля после автосабмита.
Да, так я сделал изначально. Но решил улучшить. Чтобы автоподбор свой результат не в выпадающий список вставлял, а непосредственно в блок.
Т.к. я не нашел готового решения, решил хотя бы сделать как в расширениях, что тоже не совсем правильно, т.к. придется подгружать сразу все данные.
Но, в любом случае, спасибо за помощь.
Лучше я покажусь дурачком, переспрашивая, но постараюсь разобраться, чем сказать, что понял, но так ничего не поняв.
Сомневаюсь. Я бы использовал раскрытый фильтр Views и прикрутил бы скрипт, который сабмитил бы форму фильтра по AJAX при каждом изменении значения поля фильтра. Кажется модуль Better Exposed Filters умеет это из коробки.
Да, bef это умеет. Попробую с ним еще поработать. Спасибо.
https://www.drupal.org/project/better_exposed_filters/issues/3103626 ?