GeoIP 4.0

Замена геолокации пользвоателя на Аспро

Замена в шапке

Для вывода в шапке есть разные варианты

  1. изменить вариант шапки
  2. скопировать выбранный вариант шапки с другим названием. В админке на странице настроек аспро выбрать скопированный вараинт шапки и в него внести изменения, в частности вызов комопнента модуля.
  3. вывести компонент в файл - /include/footer_include/bottom_footer.php и с помощьью js перенести контейнер с компонентом в шапку сайта.

Вариантов множесто, лучше всего использвоать 2 вараинт.

  1. Для этого нужно посмотреть какой используется враиант шапки на странице натсроек решенияАспро во вкладке Шапка.

  2. Затем находим используемый враиант в дирректории - /bitrix/templates/aspro_max/page_blocks/header/.

  3. Продположим что используется 2 вариант. Тогда копируем файл header_2.php. Для скопированного файла даем название header_2_custom.php
  4. В настройках аспро выбиривает вариант шапки, он будет в самом низу - header_2_custom.php
  5. Вносим изменения в файл header_2_custom.php

Для кадого варианта расположение может отличаться, в данном случае меняем часть код на утот

 <?
if (\Bitrix\Main\Loader::includeModule('bxmaker.geoip')): ?>
    <div class="header__top-item">
        <div class="line-block line-block--8">
            <div class="line-block__item">
                <div class="top-description no-title">

                    <div class="inline-block">
                        <div class="top-description no-title wicons">
                            <?
                            $APPLICATION->IncludeComponent(
                                "bxmaker:geoip.city",
                                ".default",
                                array(
                                    "COMPONENT_TEMPLATE" => ".default",
                                    "CONFIRM" => "Y",
                                    "SEARCH_TYPES" => array(
                                        0 => "CITY",
                                    ),
                                    "COMPOSITE_FRAME_MODE" => "A",
                                    "COMPOSITE_FRAME_TYPE" => "AUTO"
                                ),
                                false
                            );
                            ?>
                        </div>
                    </div>

                </div>
            </div>
        </div>
    </div>
<?
endif; ?>

Было

2025-03-24_13-03_1.jpg

Стало

2025-03-24_13-04.jpg

Результат

2025-03-24_13-08.jpg

Вывода вариантов доставки в карточке товара в шаблоне от Аспро

Задача: Вывод в карточке товара на вкладке дополнительно, вариантов доставок в город пользователя.

Решение: В шаблоне компонента карточки товара - bitrix:catalog.element, есть код

<?if($arParams["SHOW_ADDITIONAL_TAB"] == "Y"):?>
   <li class="<?=(!($iTab++) ? ' current' : '')?>">
        <?$APPLICATION->IncludeFile(SITE_DIR."include/additional_products_description.php", array(), array("MODE" => "html", "NAME" => GetMessage('CT_BCE_CATALOG_ADDITIONAL_DESCRIPTION')));?>
    </li>
<?endif;?>

// Меняем <?$APPLICATION->IncludeFile(SITE_DIR."include/additional_products_description.php", array(), 
// на <?$APPLICATION->IncludeFile(SITE_DIR."include/additional_products_description.php", array('component' => $component),

// Должно получитсья так
<?if($arParams["SHOW_ADDITIONAL_TAB"] == "Y"):?>
   <li class="<?=(!($iTab++) ? ' current' : '')?>">
        <?$APPLICATION->IncludeFile(SITE_DIR."include/additional_products_description.php", array('component' => $component), array("MODE" => "html", "NAME" => GetMessage('CT_BCE_CATALOG_ADDITIONAL_DESCRIPTION')));?>     </li>
<?endif;?>

Это нужно чтобы на вкладке дополнительно можно было разместить компонент с вариантами доставки и не слетали стили оформления. Затем в файле /include/additional_products_description.php - размещаем код

<?$APPLICATION->IncludeComponent("bxmaker:geoip.delivery", ".default", Array( 
    "CACHE_TIME" => "0", 
    "CACHE_TYPE" => "A", 
   "COMPOSITE_FRAME_MODE" => "A", 
    "COMPOSITE_FRAME_TYPE" => "AUTO", 
   "EPILOG" => "Бесплатная доставка от 50000 руб.", 
    "IMG_HEIGHT" => "30", 
    "IMG_SHOW" => "Y", 
   "IMG_WIDTH" => "30", 
    "PRODUCT_ID" => "$arResult[ID]", 
    "PROLOG" => "Способы доставки в ваш город - #CITY#" 
), 
$component);?>

Смена города на мобильной версии

Один из вариантов размещения города на мобильной версии сайта - под шапкой. Чтобы не править шаблон. можно использовать JS. Для этого добавляем следующий код в файл

/bitrix/templates/{название вашего шаблона}/js/custom.js

// bxmaker.geoip
$(document).ready(function () {

    if (!window.BXmakerGeoIPCity) {
        return;
    }

    var cityName = window.BXmakerGeoIPCity.getCityStore().cityName;

    $('#mobileheader').addClass('expanded-with-bxmaker-geoip');
    $('#mobileheader .mobileheader-v1').append(
        '<div class="city-changer">' +
        '<span>' + cityName + '</span>' +
        '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6.969" viewBox="0 0 12 6.969">' +
        '<path id="Rounded_Rectangle_702_copy_24" data-name="Rounded Rectangle 702 copy 24" class="cls-1" d="M361.691,401.707a1,1,0,0,1-1.414,0L356,397.416l-4.306,4.291a1,1,0,0,1-1.414,0,0.991,0.991,0,0,1,0-1.406l5.016-5a1.006,1.006,0,0,1,1.415,0l4.984,5A0.989,0.989,0,0,1,361.691,401.707Z" transform="translate(-350 -395.031)"/>' +
        '</svg>' +
        '</div>'
    );


    $('#mobileheader .mobileheader-v1 .city-changer').click(function (e) {
        e.preventDefault();
        e.stopPropagation();
        window.BXmakerGeoIPCity.getCityStore().showSearchPopup();
        return false;
    });

    if (BX.Event && BX.Event.EventEmitter) {
        BX.Event.EventEmitter.subscribe(
            'bxmaker:geoip:city:onchange',
            function (event) {
                var data = event.getData();
                $('#mobileheader .mobileheader-v1 .city-changer span').text(data.position.item.name);
            }
        );
    }
});

В зависимости от того какие настройки шаблона у вас, названия классов могут быть другие, поэтому скрипт возможно потребуется подправить под себя

В результате под шапкой будет выводитсья местоположение. При клике по местоположению появится окно дляя смены города.

2025-03-24_12-33.jpg