Сегодня мы будем интегрировать честно позаимствованную у известной поисковой системы кнопку «Мне повезет!» в шаблон bitrix:search.page. Кнопка позволяет автоматически выполнить переход на первый из результатов поиска — как правило, он наиболее релевантен запросу. Применять можно в интернет-магазинах, например, при поиске по названию товара.
Итак, для начала создадим галочку «Показывать кнопку Мне повезет», которая будет отображаться в настройках компонента. Для этого в файле .parameters.php шаблона компонента дописываем
$arTemplateParameters = array( // тут оставляем существующие параметры "SHOW_LUCK" => Array( "NAME" => GetMessage("SHOW_LUCK"), // текст-заголовок "TYPE" => "CHECKBOX", // тип параметра - флажок "DEFAULT" => "Y", // по умолчанию отмечен ), );
Текстовая константа SHOW_LUCK должна быть описана в файле /lang/ru/.parameters.php
Результат
Теперь в файле-шаблоне template.php допишем вывод кнопки и обработчик ее нажатия.
Обработчик
if(($arParams["SHOW_LUCK"]=="Y") && $_REQUEST["luck"] && ($arItem = $arResult["SEARCH"][0])) { LocalRedirect($arItem["URL"]); }
Буквально — если отмечена опция «Показывать кнопку» и на кнопку нажали и есть хотя бы один результат поиска, то переходим на эту страницу.
Вывод кнопки
<?if($arParams["SHOW_LUCK"]=="Y"):?> <input name="luck" type="submit" value="<?=GetMessage("SEARCH_GO_LUCK")?>" /> <?endif?>
Этот блок нужно разместить внутри формы (обычно рядом с кнопкой «Искать»). Текстовая константа SEARCH_GO_LUCK должна быть определена в файле lang/ru/template.php
На этом все :)
Больше статей и материалов по web-разработке в tg-канале - подписывайтесь!
Подписаться в telegram
Круто. Спасибо за решение.
молодцы! это, конечно, просто сделать, но в знак благодарности я просто скачаю выложенный вами шаблон компонента!
В архиве почемуто битая кирилица место слов ироглифы перезалейте плиз для 1251