Сегодня мы будем интегрировать честно позаимствованную у известной поисковой системы кнопку «Мне повезет!» в шаблон 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