Геозависимые скидки на продукт магазина
        Возникла необходимость в скидках на продукт в зависимости от города покупателя.
Ниже краткая инструкция как это реализовать с помощью компонента Discontrol.
С версии 1.1.21 добавлена работа с компонентом GeoLocation и классы dcDataMsProductGeoLocationRealRegion и dcDataMsProductGeoLocationRealCity.
Для работы с ними нужно добавить классы в настройку discontrol_product_classes
Создаем скидку

указываем класс GeoLocationRealCity, поле name_en, нужный город и скидку.
Скидка на продукт в зависимости от региона покупателя
Создаем скидку

указываем класс GeoLocationRealCity, поле iso, код нужной области и скидку.
Не забываем прописать нужные классы в параметре discontrol_product_option_expression
для расчета скидки
max~$GeoLocationRealCity + max~$GeoLocationRealRegion
    
    
                                                        Ниже краткая инструкция как это реализовать с помощью компонента Discontrol.
С версии 1.1.21 добавлена работа с компонентом GeoLocation и классы dcDataMsProductGeoLocationRealRegion и dcDataMsProductGeoLocationRealCity.
Для работы с ними нужно добавить классы в настройку discontrol_product_classes
modResource,msProductData,msVendor,msProductOption,msSessionCart,msSessionCartEx,modUser,GeoLocationRealCity,GeoLocationRealRegionСкидка на продукт в зависимости от города покупателяСоздаем скидку

указываем класс GeoLocationRealCity, поле name_en, нужный город и скидку.
Скидка на продукт в зависимости от региона покупателя
Создаем скидку

указываем класс GeoLocationRealCity, поле iso, код нужной области и скидку.
Не забываем прописать нужные классы в параметре discontrol_product_option_expression
для расчета скидки
max~$GeoLocationRealCity + max~$GeoLocationRealRegion
max~$modResource + max~$msProductOption + max~$msProductData + max~$msVendor + max~$msSessionCart + max~$msSessionCartEx +
max~$modUser + max~$GeoLocationRealCity + max~$GeoLocationRealRegion    
            
                Поблагодарить автора            
            
                 Отправить деньги            
        
        
            Комментарии: 6
                Сделал на основе Geolocation всплывашку С подсказкой города в метрике настроил цель в 70% не угадывает город.
Особенно с мобильных телефонов TELE 2 вечно показывает ОМСК…
                    Особенно с мобильных телефонов TELE 2 вечно показывает ОМСК…
                и причем тут это?            
                    
                Лучше добавить класс, где будет учитываться не real, а selected city, что бы цены менялись при смене города через компонент geoLocation. А сейчас получается, что меняй не меняй город все равно скидка зависит от того где ты реально находишься.
Так же хотелось бы указывать город и конкретный продукт или категорию.
                    Так же хотелось бы указывать город и конкретный продукт или категорию.
                Данное решение было сделано наспех по запросу в ТП.
Соберу немного мнений и сделаем улучшения…
                    Соберу немного мнений и сделаем улучшения…
                Я знаю, это мой коллега задавал вам вопрос в поддержку)            
                    
                Я там в принципе костыль придумал, что указывать например город, а через разделитель массив с продуктами, например Самара#[1,2,4], парсить это в классе и плагине, но этот город видимо еще где-то раньше проверяется и скидка не применяется, пока не нашел где.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.