Jump to content
  • 0
Sign in to follow this  
Денис Хабибуллин

Виджет, который меняет цену доставки товара в зависимости от региона/города (РЕШЕНО)

Question

Всем привет, давно мучался таким вопросом, но ничего подходящего не находил.

СМЫСЛ (на моём примере): если клиент из Краснодара - ему показывается фраза: "Доставка: бесплатно". Если же город не Краснодар - фраза будет: "Доставка: 300 рублей".

Выкладываю, может кому пригодится. Текст редактируется через html код, вставленный в Muse. Настраивать можно как угодно) Можно также вставить регион (например, Краснодарский край).

Я просто собрал код и вставил его в Muse, так как виджеты создавать не умею)))

Пользуйтесь, кому надо, не жалко)))

Демо: Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Если кто-нибудь облачит это дело в настоящий виджет, с полями настроек, буду признателен)

Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Share this post


Link to post

8 answers to this question

Recommended Posts

  • 0

Немного обновил, добавил вывод региона (причина: маленькие города меньше миллиона населением могут некорректно отображаться)

Ловите)

Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Share this post


Link to post

Новая статья

Как бесплатно получить специализированный хостинг для Adobe Muse сайта. Читайте новую инструкцию по этой ссылке.
  • 0
1 час назад, Денис Хабибуллин сказал:

Если кто-нибудь облачит это дело в настоящий виджет, с полями настроек, буду признателен)

Для этого надо не mulib выкладывать, а исходники

Share this post


Link to post
  • 0
9 часов назад, Павел Хомерики сказал:

Для этого надо не mulib выкладывать, а исходники

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

HTML для <head>:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

Ну и, собственно, остальной код, с которым можно играться, как удобно:

<script charset="utf-8" src="https://api-maps.yandex.ru/1.1/index.xml" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function()
    {
        ymaps.ready(function()
        {
            var country = ymaps.geolocation.country;
            var region = ymaps.geolocation.region;
            var city = ymaps.geolocation.city;
            
            $('#country').html('<b>Ваша страна:</b> '+country);
            $('#region').html('<b>Ваш регион:</b> '+region);
            $('#city').html('<b>Ваш город:</b> '+city);
        });
    });
</script>


<!-- Для вывода страны -->
<div id="country"></div>

<!-- Для вывода региона -->
<div id="region"></div>

 <!-- Для вывода города -->
<div id="city"></div>


<script type="text/javascript">
    $(document).ready(function()
    {
        ymaps.ready(function()
        {
            if (ymaps.geolocation.city == 'Краснодар') <!-- МЕНЯЕМ ГОРОД НА СВОЙ -->
            {
                $('#info').html('<b>Доставка: </b> бесплатно'); <!-- ЕСЛИ ГОРОД ВАШ -->
            }
            else
            {
                $('#info').html('<b>Доставка:</b> 300 рублей'); <!-- ЕСЛИ ГОРОД НЕ ВАШ -->
            }
        });
    });
</script>

<div id="info"></div>

Share this post


Link to post
  • 0

Можно оформить картой, очень неплохо визуально смотрится)

Демо: Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке.

Код для карты:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Сколько стоит доставка в Ваш регион?</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="https://api-maps.yandex.ru/1.1/index.xml" type="text/javascript"></script>

    <script charset="utf-8" src="https://api-maps.yandex.ru/1.1/index.xml" type="text/javascript"></script>
    <script type="text/javascript">
        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
                // Создание экземпляра карты и его привязка к созданному контейнеру
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]),
                
                // Центр карты
                center,
                
                // Масштаб
                zoom = 10;

            // Получение информации о местоположении пользователя
            if (YMaps.location) {
                center = new YMaps.GeoPoint(YMaps.location.longitude, YMaps.location.latitude);

                if (YMaps.location.zoom) {
                    zoom = YMaps.location.zoom;
                }

                map.openBalloon(center, "Место вашего предположительного местоположения:<br/>"
                    + (YMaps.location.country || "")
                    + (YMaps.location.region ? ", " + YMaps.location.region : "")
                    + (YMaps.location.city ? ", " + YMaps.location.city : "")
                )
            }else {
                center = new YMaps.GeoPoint(37.64, 55.76);
            }

            // Установка для карты ее центра и масштаба
            map.setCenter(center, zoom);
        })
    </script>
</head>

<body>
    <div id="YMapsID" style="width:600px;height:400px"></div>
</body>

</html>

Share this post


Link to post
  • 0
8 часов назад, Денис Хабибуллин сказал:

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

Отформатировал Ваши сообщения. На будущее - исходный код надо вставлять с помощью специальной вставки
Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке./applications/core/interface/imageproxy/imageproxy.php?img=http%3A%2F%2Fdl3.joxi.net%2Fdrive%2F0008%2F0401%2F545169%2F160310%2F7386c3841c.png&key=af0be4d32817ed9850c3fbf7882c9de8366c38e9f357668ba93dd86d1f6073e4">

И к сведению. Ваш пример интересен, но имеет прикладной характер. В реальных проектах не применим, так как приведет к багам и глюкам сайта. Нельзя подключать 2 jquery библиотеки в один сайт. Нельзя подключать это в head в музе. Муза базируется на библиотеке 1.8.3
042334f78e.png

Share this post


Link to post
  • 0
22 минуты назад, Павел Хомерики сказал:

Отформатировал Ваши сообщения. На будущее - исходный код надо вставлять с помощью специальной вставки
Здесь ссылка, но видят ее только участники клуба. Вступите в клуб по этой ссылке./applications/core/interface/imageproxy/imageproxy.php?img=http%3A%2F%2Fdl3.joxi.net%2Fdrive%2F0008%2F0401%2F545169%2F160310%2F7386c3841c.png&key=af0be4d32817ed9850c3fbf7882c9de8366c38e9f357668ba93dd86d1f6073e4">

И к сведению. Ваш пример интересен, но имеет прикладной характер. В реальных проектах не применим, так как приведет к багам и глюкам сайта. Нельзя подключать 2 jquery библиотеки в один сайт. Нельзя подключать это в head в музе. Муза базируется на библиотеке 1.8.3
042334f78e.png

Я в этом не особо силён, просто сделал то, что у меня реально работает) Поправьте код, если не трудно, думаю, это многим пригодится)

А вообще эти 2 строчки я взял за основу на форуме web-мастеров. Цитирую:

Для того, что бы определить страну и город на JS + API Яндекс, подключаем между тегами <head> и </head> jQuery и API Яндекс, например так:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

Share this post


Link to post
  • 0
17 минуту назад, Денис Хабибуллин сказал:

Я в этом не особо силён, просто сделал то, что у меня реально работает) Поправьте код, если не трудно, думаю, это многим пригодится)

А вообще эти 2 строчки я взял за основу на форуме web-мастеров. Цитирую:

Для того, что бы определить страну и город на JS + API Яндекс, подключаем между тегами <head> и </head> jQuery и API Яндекс, например так:

Никто не спорит, что это не работает в принципе. Просто подключение в музу имеет свой нюанс. Всё то что на обычный сайт подключается в head , в музе подключается внизу страницы.
И код просто так подправить нельзя, надо переписывать полностью сам скрипт под библиотеку 1.8.3.
В частном примере, который Вы привели - это работает, потому что больше ничего не мешает. А в условиях реального проекта, когда будет задействована родная библиотека музы - это может привести к непредсказуемым последствиям и конфликтам

Share this post


Link to post
  • 0

можно убрать  обращение к <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

и все скрипты в конец - перед </body>

а div разумеется оставить..

я так и сделаю  когда дойдут руки

Share this post


Link to post
Sign in to follow this  

×
×
  • Create New...