Поиск Яндекса вместо Sphinx
Это просто, но для меня стало решением проблемы поиска по сайту на виртуальном хостинге.
В выдаче много повторов (ссылки на теги, топы), но зато все прелести Яндекса( подсказки, автозамена, смена раскладки, транслит, морфология).
Результат: govoritoskol.ru и страница результатов поиска
1. Настраиваем форму поиска Яндекса site.yandex.ru/new_info.xml
Выбираем «оформление результатов поиска — в iframe странице» и пишем желаемый адрес страницы результатов поиска, например yoursite.ru/page/poisk
2. Копируем полученный html-код поисковой формы и вставляем его в sidebar.tpl вместо строк
3. Создаем статическую страницу poisk. Для этого нужно активировать плгин static page в панели администратора. В поле «Текст» новой страницы снова вставляем код поисковой формы и затем второй код от Яндекса, примерно такой:
Не уверен, что сделал все правильно, по-хорошему нужно наверно где-то выключить Sphinx. И на странице результатов поиска у меня форма и кнопка вылезли справа, пока не понял как исправить.
В выдаче много повторов (ссылки на теги, топы), но зато все прелести Яндекса( подсказки, автозамена, смена раскладки, транслит, морфология).
Результат: govoritoskol.ru и страница результатов поиска
1. Настраиваем форму поиска Яндекса site.yandex.ru/new_info.xml
Выбираем «оформление результатов поиска — в iframe странице» и пишем желаемый адрес страницы результатов поиска, например yoursite.ru/page/poisk
2. Копируем полученный html-код поисковой формы и вставляем его в sidebar.tpl вместо строк
<div class="block">
<form action="{router page='search'}topics/" method="GET">
<input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="{$aLang.search}" name="q" />
<input class="button" type="submit" value="{$aLang.search_submit}" />
</form>
</div>
заключаем этот код в тег {literal}{/literal}3. Создаем статическую страницу poisk. Для этого нужно активировать плгин static page в панели администратора. В поле «Текст» новой страницы снова вставляем код поисковой формы и затем второй код от Яндекса, примерно такой:
<div id="yandex-results-outer" onclick="return {encoding: ''}"></div>
<script type="text/javascript" src="http://site.yandex.net/load/site.js" charset="utf-8"></script>
Не уверен, что сделал все правильно, по-хорошему нужно наверно где-то выключить Sphinx. И на странице результатов поиска у меня форма и кнопка вылезли справа, пока не понял как исправить.
16 комментариев
на всех моих сайтах включил gooogle поиск
и баста
на всех моих сайтах включил gooogle поиск
и баста
интересный вопрос как выключить Sphinx
Напирмер:
Спасибо status за помощь.
Как побороть?
но если очень хочется в страницу (модуль page?), то редактируйте напрямую в mysql
В общем в страницу я вставил, оказывается гасился пустой тег , т.е. надо было сделать его не пустым:
Тут всё что угодно, например
Всё заработало с одним НО — в FreFox 5.0 в результатах поиска ничего не нажимается и даже не появляется контекстное меню по правой кнопке ((( В IE 9 всё ОК.
— Хм, я так понял что нужно в статичную страницу: «В поле «Текст» новой страницы снова вставляем код поисковой формы и затем второй код от Яндекса».
В общем в страницу я вставил, оказывается гасился пустой тег , т.е. надо было сделать его не пустым:
Всё заработало с одним НО — в FreFox 5.0 в результатах поиска ничего не нажимается и даже не появляется контекстное меню по правой кнопке ((( В IE 9 всё ОК.
вообще по-хорошему надо заменить шаблоны actionsearch
{literal} код яндекса {/literal}
А в шаблоне new в sidebar нету таких строк.
Где искать?
Заменяем строки
На полученные на яндексе и заключаем их в {literal} т.е.
На вновь созданной странице poisk расположенной по адресу Ваш сайт/page/poisk/
в код вставляем два кода выданные на яндексе (site.yandex.ru/new_info.xml)
Чтобы не сдвигался и не растягивался код поисковой формы вставляем