Документация Сотбит: Умный поиск. Интеграция с популярными шаблонами. Digital Web: Deluxe
Digital Web: Deluxe
Для установки компонентов поиска в Digital Web: Deluxe необходимо выполнять ряд действий, описанных ниже.
Шаг 1 – Выполнить базовую настройку
Рекомендуем предварительно разместить и настроить компоненты sotbit:search.title и sotbit:search.page на тестовой странице, чтобы в дальнейшем можно было их скопировать в необходимые места.
Шаг 2 – Установить интерактивный поиск
Определяем где размещен интерактивный поиск. Обычно он подключается в одном из перечисленных ниже файлов.
В файле/sect_searchLine.php;
В файле /sect_searchLine2.php;
В файле /sect_searchLine3.php;
В файле /sect_searchLine4.php.
Вместо стандартного компонента вставляем компонент интерактивного поиска, настроенный на тестовой странице.
Внешний вид компонента интерактивного поиска мы можем частично сохранить, т.к. в решении используется свой компонент поиска. Код шаблона компонента необходимо переносить вручную.
Для кастомизации скопируйте шаблон строки поиска из /bitrix/components/sotbit/search.title/templates/.default в /bitrix/templates/#ID_ВАШЕГО_ШАБЛОНА#/components/sotbit/search.title/custom.
Примените скопированный шаблон к компоненту.
Отредактируйте код шаблона (приведите код файла /template.php в плане HTML к виду стандартной поисковой строки Delux), так же не забудьте разместить стили от стандартного компонента поиска Delux в style.css.
Шаг 3 – Установка поисковой страницы
В решении используется свой компонент поиска, устроенный по другим принципам, нежели стандартный компонент Битрикса.
Как правило, вызов компонента расположен в папке /search/ и использует стандартный встроенный шаблон.
Для установки необходимо скопировать текущий отображаемый шаблон из шапки /bitrix/components/dresscode/search/templates/.default в папку /bitrix/templatex/#ID_ВАШЕГО_ШАБЛОНА#/components/dresscode/search/custom и установить в настройках компонента вывод нового скопированного шаблона (с названием, указанным как custom).
Далее редактируем шаблон компонента, который был скопирован ранее /bitrix/templates/#ID_ВАШЕГО_ШАБЛОНА#/components/dresscode/search/custom/template.php.
Для упрощения интеграции можно поступить следующим образом:
Подключить вызов нашего компонента sotbit:search.page в скрытом блоке;
Перезаписать часть переменных возвращаемым нашим компонентом массивом.
Пример кода ниже:
// скрытый компонент поиска
echo '
"display:none;">';
$arIDS = $APPLICATION->IncludeComponent(
"sotbit:search.page",
"",
Array(
"AJAX_MODE" => "N",
"AJAX_OPTION_ADDITIONAL" => "",
"AJAX_OPTION_HISTORY" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"CACHE_TIME" => "3600",
"CACHE_TYPE" => "A",
"CHECK_DATES" => "N",
"DEFAULT_SORT" => "rank",
"DISPLAY_BOTTOM_PAGER" => "Y",
"DISPLAY_TOP_PAGER" => "Y",
"FILTER_NAME" => "",
"NO_WORD_LOGIC" => "N",
"PAGER_SHOW_ALWAYS" => "Y",
"PAGER_TEMPLATE" => "",
"PAGER_TITLE" => "Результаты поиска",
"PAGE_RESULT_COUNT" => "50",
"PATH_TO_USER_PROFILE" => "",
"RATING_TYPE" => "",
"RESTART" => "N",
"SHOW_RATING" => "",
"SHOW_WHEN" => "N",
"SHOW_WHERE" => "Y",
"USE_LANGUAGE_GUESS" => "Y",
"USE_SUGGEST" => "N",
"arrFILTER" => array(),
"arrWHERE" => array()
)
);
echo '
';
// перезапись данных
global $arrFilter;
$arrFilter = array();
$arrFilter["ID"] = array_values($arIDS);
$arResult["ITEMS_ID"] = array_values($arIDS);
$arResult["ITEMS"] = array_values($arIDS);
?>
После установки поисковой страницы таким способом внешний вид и функционал сохранятся. Дополнительные действия не требуются.
Если Вам необходима помощь в интеграции компонентов, обращайтесь в нашу техническую поддержку.