Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   700р. Нужен живой поиск (https://javascript.ru/forum/job/67232-700r-nuzhen-zhivojj-poisk.html)

Pobedill 05.02.2017 06:15

700р. Нужен живой поиск
 
Нашел живой поиск, только вот не могу его извлечь с сайта разработчика...
Скопировал страницу сайта разработчика целиком, но поиск не работает...
Интересует поиск Beer v1

laimas 05.02.2017 06:39

А с чего вдруг решено, что этот поиск ищет в элементах страницы с определенным классом? Этот поиск делает асинхронный запрос на сервер и получает найденные в базе совпадения, по которым на клиенте строится список.

Pobedill 05.02.2017 16:20

Цитата:

Сообщение от laimas (Сообщение 443292)
А с чего вдруг решено, что этот поиск ищет в элементах страницы с определенным классом? Этот поиск делает асинхронный запрос на сервер и получает найденные в базе совпадения, по которым на клиенте строится список.

Абсолютно верно. Про "определенный класс" это я имел в виду свой поиск. Не правильно выразился. А список строится с заголовков страниц, значит ищет только по заголовкам...

laimas 05.02.2017 17:04

По чему искать задается сервером.

Браузер->Ок гугл->autocomplete плагин->выбираем->подключаем->используем

fuckingquest 05.02.2017 21:39

написал в личку

Pobedill 06.02.2017 05:11

Цитата:

Сообщение от laimas (Сообщение 443325)
По чему искать задается сервером.

Браузер->Ок гугл->autocomplete плагин->выбираем->подключаем->используем

Нашел то что мне нужно, только вот не могу это извлечь...
Скопировал страницу сайта разработчика целиком, но поиск не работает...
Интересует поиск Beer v1
Куда вставляется php? Как его подключать? Он ведь не подключается в head?

laimas 06.02.2017 07:13

Цитата:

Сообщение от Pobedill
Куда вставляется php? Как его подключать? Он ведь не подключается в head?

Никуда. РНР это серверный язык. То что приведено в примерах (php-код), это всего лишь ради примера, а в реальности выбранный вами плагин должен обращаться к серверному скрипту (а уж какой серверный язык используется у вас, РНР или иной, это вам лучше знать), который в свою очередь должен по заданным параметрам ключ=значение произвести в базе поиск. Если найдено, то возвращать его в формате JSON, в котором и приведены примеры на РНР.

mshdn 06.02.2017 10:56

Напишите на mshdn@rambler.ru
если еще актуально.

Pobedill 06.02.2017 21:07

Цитата:

Сообщение от mshdn (Сообщение 443398)
Напишите на mshdn@rambler.ru
если еще актуально.

Спасибо, говорите красиво, конечно, но "карма" у Вас не очень хорошая.
Мне еще нужен такой поиск, но деньги вперед с такой кармой давать нет желания.

Pobedill 06.02.2017 21:13

Цитата:

Сообщение от laimas (Сообщение 443370)
а уж какой серверный язык используется у вас, РНР или иной, это вам лучше знать

PHP

laimas 06.02.2017 21:39

Цитата:

Сообщение от Pobedill
PHP

Ну так серверу и выполнять, а на сервере язык уже есть, вставлять его никуда не надо. )

Нет у меня сейчас времени в достатке, но кратко можно так по:

Цитата:

Сообщение от Pobedill
Интересует поиск Beer v1

Видите что ожидает от сервера плагин в этом случае (основные данные), которые будут на клиенте получены как объект:

$arr = array(
    "data"   => array(
        "beer"   => array(
            "ale"   => array(
                "Affligem Blonde", "Amsterdam Big Wheel",
                 //.....
             ),
             "lager" => array(
                "AC-DC Premium Lager",
                 //...
             )
         )
     )
)


причем ключи "ale", "lager" и т.д. содержат не выборки из базы совпадающие с запросом, а все что есть, от A до Z. То есть если в базе данных не много, такое поведение еще можно стерпеть, но если база обширная, то ответ сервера может быть слишком объемный, а значит такое не годится. Сама обработка запроса в таком случае может занять время, то есть отклик сервера может быть большим, что для "живого поиска" не есть хорошо.

Список при этом формирует ссылки по формату описанному здесь:

href: "/beers/{{group|slugify}}/{{display|slugify}}/"


что реально в списке ссылкой будет описываться так:

<a href="/beers/ale/affligem-blonde/" data-group="ale" data-index="0">
    <span class="typeahead__display"><strong>A</strong>ffligem Blonde</span>
</a>


Насколько может быть глубоко вложение в ответе сервера я не в курсе, это надо читать доки по плагину, его параметры определяемые и методы. Но уже из этого примера можно получить ответы:

а) позволяет ли объем данных на сервере отдать все возможные наборы клиенту или нет?
б) соответствует ли структура данных сервера структуре ожидаемой плагином?
в) соответствует ли параметры url формируемые плагином в списке параметрам запросов для сервера?

Я на эти вопросы ответить не могу, для этого нужно знать что есть и как это связать с плагином. Так что придется на эти вопросы отвечать самому.

Pobedill 07.02.2017 14:36

laimas, а если сделать поиск без использования PHP? Всё на стороне клиента?

А вы бы могли разобраться в этом плагине? Сколько это будет стоить?

laimas 07.02.2017 16:05

Цитата:

Сообщение от Pobedill
а если сделать поиск без использования PHP? Всё на стороне клиента?

Ну в общем-то по большому счету на сервере ничего и не ищется, я же данные из фильтра приводил. То есть сервер вывалил все, а клиент среди этого и ищет. Но как говорилось, такое допустимо, если объем данных небольшой.

Я так понимаю, что выбор плагина был не по принципу нужного функционала и структуры данных, а по красивости. Так выбирал горшок герой Вицина - из стопки горшков обязательно самый нижний. :) Можно же было подобрать простой плагин отвечающий требованиям, а красивость, это уже как угодно в CSS, добавить выделение фрагмента в поиске, это тоже не проблема.

ТЗ на работу, это не "сделайте мне вот такое как по этой ссылке, потому, что оно мне нравится". ТЗ описывает структуру данных, с которой нужно работать, условия и прочее. Вот я говорил обратить внимание на url формируемый плагином, и видимо зря. А ведь такой url:

"/beers/ale/affligem-blonde/"

если не является ЧПУ (не для mod_rewrite) означает, что будет обращение у индексному файлу в папке affligem-blonde. Если же это ЧПУ, то это параметры запроса. А как задаются GET параметры на вашем сайте? Если не ЧПУ типа ?key1=var1&key2=var2..., то поиск Beer v1, ну никак не подходит. А у этого плагина можно задать обработку и иной структуры данных и соответственно формирование url.

Цитата:

Сообщение от Pobedill
А вы бы могли разобраться в этом плагине?

Ну а что разбираться, достаточно изучить его документацию, она не так и большая. Проблема не в ней, проблема с заказчиком. ) Если вы можете грамотно описать для каких данных этот плагин нужен, структуру этих данных, их хранение, параметры запроса сервера, а также давать пояснения на возможные дополнительные вопросы, тогда можно и подключить если самостоятельно никак.

Цитата:

Сообщение от Pobedill
Сколько это будет стоить?

Никогда не задавайте таких вопросов не описав конкретно задачу (см. выше). Само подключение плагина, это копеечная работа, а вот время на выяснение всех вопросов бывает столько тратиться, что мама не горюй, а ведь у прогера как у таксиста - сел в такси, счетчик включился. :)

Так что если можете и готовы описать грамотно задание, сообщайте контакт в Скайп. Если нет, без обид, я не стану зря тратить массу времени.


Часовой пояс GMT +3, время: 18:38.