Клуб Яндекс.Поиска для сайта

Добавление своего класса к форме

alexpts
2 марта 2015, 12:54

1. Возможно ли как-то в форму поиска добавить свой класс для input воода и submit кнопки?
Я поинмаю, что с вариантом html+css можно самому составить селектор и описать все стили, но хотелось бы просто присвоить bootstrap класс и ни чего не писать. 

2. Есть ли где-то подробное js api этого виджета? И возможно ли результат поиска через это api получать и вставлять в этом же окне?

6 комментариев
Подписаться на комментарии к посту
firstlena.pershina
2 марта 2015, 12:53

Именно поискового API, которое бы выдавало результаты, у Поиска для сайта пока нет.
У нас есть мастер-класс по настройке Поиска для сайта, как раз про работу с CSS+HTML: http://www.youtube.com/watch?v=KTA7JmLJ57c
Там рассказано (с примерами в коде), как можно вносить подобные изменения.
Про кнопку там с 8:10, про форму – чуть раньше. 

Я видел этот ролик.
1. Классы добавлять нельзя в разметку в ролике.

2. В ролике про влияние на результат поиска через js говорится. Показывается событие yass_ready и это хорошо. Хотелось бы именно понять как иницилизоировать вручную поиск через Ya.Site.xxx js. Чтобы динамически на любой страниуе иницилизировать поиск и без перезагрузки страниц вывести результат.

firstlena.pershina
2 марта 2015, 12:54

Мы сейчас думаем над созданием API, но хочется точно быть уверенными, что оно нужно. Можете описать задачи, с которыми не может справиться наш сервис сейчас и обязательно нужно API?  

Fallback форма поиска в виде html разметки нужна как есть в виджете

<form class="flexrow" action="http://yandex.ru/sitesearch" method="get" target="_self">
    <input type="hidden" name="searchid" value="..."/>
    <input type="hidden" name="l10n" value="ru"/>
    <input type="hidden" name="reqenc" value="utf-8"/>
    <input class="form-control" type="search" name="text" value=""/>
    <input class="btn bnt-default" type="submit" value="Найти"/>
form>

Она хороша и проста для модификации! Не нужно ее заменять стращным результатом работы Ya.Site.Form.init > e.buildHTML.
Я поинмаю, что она призвана решить проблемы одинакового отображения в разных браузерах, но в нынешних браузерах это костыль. Это должно быть опционально.

1. Дайте возможность не менять DOM а подключить suggest (кроме него что-то еще есть?), добавив data атрибуты в виде параметров как в bootstrap или явно параметрами при иницилизации.

$('#ya_search_form').yaSearch()

 

2. Для SPA приложения, нужен js  api для запуска поиска. Чтобы иницилизировать поиск. Для форматирования результата годится событие yass_ready, про которое в видео рассказано.

3. Подгрузка результатов поиска в виде живой ленты по типу ленты контакта через js.

API штука нужная!

Что думаете?

firstlena.pershina
3 марта 2015, 17:11

Добрый день! Специально подключили наших разработчиков к этой задаче, но, к сожалению, действительно удачного решения на имеющихся технологиях пока предложить не можем. Со своей стороны постараемся сделать так, чтобы в будущем это стало возможным. Большое спасибо, что показали нам новые идеи по использованию нашего поиска.