+7 495 008 8452
  • Загрузка
Выберите ваш цвет
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.

Помните, была в Google когда-то такая кнопка "Мне повезет"? Та самая, которая сразу перенаправляла посетителя на первый в выдаче сайт? Самая пора испробовать ее работу на поиске «Битрикс» по сайту. Мы ведь с вами не Google, чем быстрее посетитель найдет нужный материал, тем лучше и ему и нам. Не так ли? Давайте посмотрим, как это сделать. Например, настроим поиск так, чтобы при нажатии Ctrl+Enter посетитель сразу получал первый релевантный запросу результат. Соответственно, запрос + Enter будет показывать ему стандартную выдачу поиска «Битрикс». И кнопку, естественно, тоже добавим.

1. Редактируем шаблон поиска в коде страницы

А именно, добавляем к строке ввода ID. Примерно такого вида

id=search-input


и вводим еще одно скрытое поле

<input type="hidden" value="n" id="search-lucky" name="lucky">


2. Добавляем код JS для обработки команды клавиатуры

В любом подходящем месте шаблона страницы

$(document).on('ready', function(){ 
    $('#search-input').on('keypress', function(e){
        if (e.ctrlKey && e.keyCode == 13 || e.keyCode==10) {
            $('#search-lucky').val('y');
            $(this).closest('form').submit();
        } else {
            $('#search-lucky').val('n');
        }
    });
});


3. Модифицируем шаблон поиска result_modifier.php

Добавляем в него код обработки запроса

if (array_key_exists('lucky', $_REQUEST) && $_REQUEST['lucky']=='y') {
    if (count($arResult['SEARCH']) > 0) {
        LocalRedirect($arResult['SEARCH'][0]['URL']);
    }
}


4. А как добавить собственно кнопку "Мне повезет"?

Вопрос резонный. Далеко не всем посетителям сайта нравится запоминать клавиатурные команды. На этот случай добавим кнопку "Мне повезет" в файле .parameters.php.

$arTemplateParameters = array(
// тут оставляем существующие параметры
"SHOW_LUCK" => Array(
"NAME" => GetMessage("SHOW_LUCK"), // текст-заголовок
"TYPE" => "CHECKBOX", // тип параметра - флажок
"DEFAULT" => "Y", // по умолчанию отмечен
),
);



Готово!

Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...