html. Как реализовать select в поиске?

Добрый день. Задался вопросом реализации выпадающего списка в поиске.
То есть у нас есть строка text и в этой строку вписать select с выбором где именно ищем, топики, люди, комментарии. Если select и сделать с помощью css, что бы он был в самой строке поиска, то правильно связать не получается. Подскажите как это можно реализовать.

<form action="{router page='search'}topics/">
<input type="text" placeholder="{$aLang.search_what_site}" maxlength="255" name="q" class="input-text input-width-full">
<select что нужно указать тут?>
   <option value="?">Топики</option>
   <option value="?">Комментарии</option>
   <option value="?">Люди</option>
</select>
<button class="button" type="submit" value="" title="{$aLang.search_submit}">{$aLang.search_submit}</button>
</form>


И ещё один момент можно ли вывести в строке поиска заместо Например: Аписинка Случайный заголовок топиков? Думал с начало через смарти сделать rand определённых слов, но это грустно выглядит когда постоянно одно и тоже.

8 комментариев

avatar
1. Посмотрите тут.
— Если у вас шаблон базируется на TB этой же версии, просто скопируйте html. Если предыдущей, то посмотрите доку по предыдущей версии TB, там тоже есть сегментированные инпуты.
— Если у вас шаблон не базируется на TB, то из приведенного примера скопируйте html и соотв. CSS.

2. Как вариант, выводите там произвольный тег из БД, или сохраняйте в БД слова последнего поиска, и выводите их при следующем открытии страницы.
avatar
Добавлю по 1. В зависимости от выбранного значения выпадающего списка, выполнять запрос:
Для топиков: livestreet.ru/search/topics/?q=ваш_поисковый_запрос
Для комментариев: livestreet.ru/search/comments/?q=ваш_поисковый_запрос
avatar
Это я понимаю. только вот я по разному менял select и запрос у меня получается не правильный. Вот и попросил пример.
avatar
avatar
Спасибо!
avatar
Пожалуйста! Помогло?
avatar
Принцип работает, а кодировка нет. Поисковой запрос примерно выглядит так q=/%434%/ точно не помню. Читал для js как перекодировать из cp-1251, что-то не вышло.
avatar
Обязательно любые пользовательские данные, передаваемые в виде части URL, обворачивайте в encodeURIComponent().

Т.е., там где у вас
escape(sf.searchterms.value)
, вместо escape обязательно используйте encodeURIComponent:

encodeURIComponent(sf.searchterms.value)


Это был очень древний пример, сейчас escape уже depricated.

И да, поисковый запрос будет иметь вид:
"%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81"

Это — правильно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.