После установки появятся 4 комопнента, которые можно найти при редактирвоании страницы сайта в редакторе справа.
Важно - все компоненты зависят от наличия на странице комопнента bxmaker:geoip.city
, так как для исключения дублирования вся основная логика по определению и смене города, а также переадресациям, уточнениями и прочим действиям находится в нем.
bxmaker:geoip.city
- «Город + popup» выводится город (опционально) и скрытое попап окно, которое отображается для смены городаbxmaker:geoip.city.line
- «Вывод названия города» - выводит город и таблички с подтверждением (опционально)bxmaker:geoip.delivery
- «Информация о доставке» - выводит о стоимость и сроки доставки товара в город пользователяbxmaker:geoip.message
- «Геозависимые сообщения» - позволяют выводить разные данные, например номер телефона, для разных городов (местоположений) или групп местоположенийЭтот компонент выводит наименование города. Помимо этого, он выводит табличку с вопросом для пользователя, верно ли определен его город. Эта табличка показывается только при первом заходе на сайт, потом если пользователь подтвердил свой город, или указал иной, вместо таблички с вопросом, выводится вторая табличка с кнопкой для изменения города и ссылкой на страницу с информацией о доставке, условиях и тп.
Вторая табличка появляется после наведения указателя мышки на наименование города.
Эти таблички и тексты задаются в параметрах вызова комопнента.
Также при клике по наименованию города появляется всплывающее окно, в котором пользователь может выбрать город из предустановленных вариантов или, воспользовавшись поиском, установить свой город.
Всплывающее окно для смены города на страницу добавляет компонент bxmaker:geoip.city
о котором написано ниже.
Вот пример вызова комопнента, дял размещения в коде страницы.
// вызов вне кэшируемой части сайта
<?php $APPLICATION->IncludeComponent( "bxmaker:geoip.city.line",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CITY_LABEL" => "Ваш город:",
"QUESTION_SHOW" => "Y",
"QUESTION_TEXT" => "Ваш город<br/>#CITY#?",
"INFO_SHOW" => "Y",
"INFO_TEXT" => "<a href=\"#\" rel=\"nofollow\" target=\"_blank\">Подробнее о доставке</a>",
"BTN_EDIT" => "Изменить город"
),
false
);?>
// вызов в шаблоне другого компонента, например в шаблоне карточки товара - bitrix:catalog.element
<?php $APPLICATION->IncludeComponent( "bxmaker:geoip.city.line",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"CITY_LABEL" => "Ваш город:",
"QUESTION_SHOW" => "Y",
"QUESTION_TEXT" => "Ваш город<br/>#CITY#?",
"INFO_SHOW" => "Y",
"INFO_TEXT" => "<a href=\"#\" rel=\"nofollow\" target=\"_blank\">Подробнее о доставке</a>",
"BTN_EDIT" => "Изменить город"
),
$component
);?>
Вы можете указать у нужных тегов класс js-bxmaker__geoip__city-name-global
, в который автоматически подставится город и при клике по которому, ппоявится окно для смены города, на странице обязательно должен быть размещен компонент bxmaker:geoip.city
Город + popup
Этот компонент работает только на сайтах где установлен модуль Интернет-магазин. Он выводит информацию о вариантах , стоимости и сроках доставки в город пользователя.
При смене города пользователем, этот компонент автоматически без перезагрузки страницы подгружает новые актуальные данные.
Пример вызова комопнента
// Для размещения на странице, в шаблокне сайта и тд.. где нет родительского компонента
<? $APPLICATION->IncludeComponent( "bxmaker:geoip.delivery",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"PRODUCT_ID" => "8441",
"IMG_SHOW" => "Y",
"PROLOG" => "Способы доставки в ваш город - #CITY#",
"EPILOG" => "Бесплатная доставка от 5000 руб."
),
false
); ?>
// Для размещения в шаблоне карточки товара, в области которая является шаблоном другого компоненте, например bitrix:catalog.element
<? $APPLICATION->IncludeComponent( "bxmaker:geoip.delivery",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"PRODUCT_ID" => "8441",
"IMG_SHOW" => "Y",
"PROLOG" => "Способы доставки в ваш город - #CITY#",
"EPILOG" => "Бесплатная доставка от 5000 руб."
),
$component
); ?>
Этот компонент выводит произвольное сообщение конкретного типа, например это может быть изменяемый в зависимости от города номер телефона (для москвы будет выводить 8495..., а для других городов 8800..), или допустим нужен какой то рекламный текст для конкретного города
//В административном разделе тип сообщения - PHONE
//для вывода указываем тип PHONE
$APPLICATION->IncludeComponent('bxmaker:geoip.message', '', array('TYPE' => 'PHONE'));
// для вывода в шаблоне кэшируемого компонента
$APPLICATION->IncludeComponent('bxmaker:geoip.message', '', array('TYPE' => 'PHONE'), $component);
Пример вызова компонента
```php
// вызов вне кэшируемой части других комопнентов, в любом месте сайта
<? $APPLICATION->IncludeComponent( "bxmaker:geoip.city",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CITY_SHOW" => "Y",
"CITY_LABEL" => "Ваш город:",
"QUESTION_SHOW" => "N",
"QUESTION_TEXT" => "Ваш город<br/>#CITY#?",
"INFO_SHOW" => "N",
"INFO_TEXT" => "<a href=\"#\" rel=\"nofollow\" target=\"_blank\">Подробнее о доставке</a>",
"BTN_EDIT" => "Изменить город",
"SEARCH_SHOW" => "Y",
"FAVORITE_SHOW" => "Y",
"CITY_COUNT" => "30",
"FID" => "12",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"POPUP_LABEL" => "МЫ ДОСТАВЛЯЕМ ПО ВСЕЙ РОССИИ!",
"INPUT_LABEL" => "Введите название города...",
"MSG_EMPTY_RESULT" => "Ничего не найдено"
),
false
); ?>
//если вызов происходитв кэшируемой части другого комопнента, обязательно третим парамтером вызова комопнента передаем ссылку на родительский комопнент
<? $APPLICATION->IncludeComponent( "bxmaker:geoip.city",
".default",
array(
"COMPONENT_TEMPLATE" => ".default",
"CITY_SHOW" => "Y",
"CITY_LABEL" => "Ваш город:",
"QUESTION_SHOW" => "N",
"QUESTION_TEXT" => "Ваш город<br/>#CITY#?",
"INFO_SHOW" => "N",
"INFO_TEXT" => "<a href=\"#\" rel=\"nofollow\" target=\"_blank\">Подробнее о доставке</a>",
"BTN_EDIT" => "Изменить город",
"SEARCH_SHOW" => "Y",
"FAVORITE_SHOW" => "Y",
"CITY_COUNT" => "30",
"FID" => "12",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"POPUP_LABEL" => "МЫ ДОСТАВЛЯЕМ ПО ВСЕЙ РОССИИ!",
"INPUT_LABEL" => "Введите название города...",
"MSG_EMPTY_RESULT" => "Ничего не найдено"
),
$component
); ?>
```
В параметрах можно указать группу избранных местоположений, которые будут выводиться как предустановленные, по которым человек может кликнуть не используя поиск.