Jump to content
colaweb

[Решено] Простое решение вывода названия города по ip

Recommended Posts

В шапке или подвале подключаем API Яндекс Карты
 

 

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

 

 
Выводим название города в блоке где необходимо, с id=”user-city”
 


 

<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
 

 

 
пример colaweb.ru/internet-magazinyi

  • +1 2

Share this post


Link to post
Share on other sites

Можно не выводить название города, а использовать его для вывода специальных объявлений для посетителей из разных городов.

 

Например: (при помощи if)посетитель из Москвы, выводите сообщение «Бесплатная доставка по Москве»,

 

а для других городов (при помощи else) «Доставка почтой России»

Share this post


Link to post
Share on other sites

Можно не выводить название города, а использовать его для вывода специальных объявлений для посетителей из разных городов.

 

Например: (при помощи if)посетитель из Москвы, выводите сообщение «Бесплатная доставка по Москве»,

 

а для других городов (при помощи else) «Доставка почтой России»

 

А как это сделать? :)

Share this post


Link to post
Share on other sites

А как это сделать? :)

 

Примерно так

 

<div id="user-city"></div> //здесь будет выводиться сообщение

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

<script type="text/javascript">

window.onload = function () {
 var city = ymaps.geolocation.city;
 if(city == 'Москва'){
  jQuery("#user-city").text('Бесплатная доставка по Москве');
 }else{
  jQuery("#user-city").text('Доставка почтой России');
 }
}

</script>
 
  • +1 2

Share this post


Link to post
Share on other sites

А html можно добавить в текст? Хочу кнопку "Быстрый заказ" сделать доступной только для Москвы.

Share this post


Link to post
Share on other sites

У меня сработало только если забить ymaps.geolocation.city в переменную:

$(ymaps).ready(function(){
	var city = ymaps.geolocation.city;
	$("#widgetCity").text(city);
	});

Share this post


Link to post
Share on other sites

В шапке или подвале подключаем API Яндекс Карты

 

 

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

 

 

Выводим название города в блоке где необходимо, с id=”user-city”

 

<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
 

 

пример colaweb.ru/internet-magazinyi

Отлично друг! Все работает! Благодарочка! Я рекомендую использовать <span id="user-city"> так больше возможностей))

Edited by GeoRin

Share this post


Link to post
Share on other sites

Вы очень можете этим самым навредить. В частности, яндекс-бот собирает информацию, IP Московский.

 

Поэтому запросто может присвоить региональность Москва. Вот если бы скрипт исключал поисковиков - тогда очень полезно, бесспорно.

 

Над реализацией сам думал, но именно тот факт, что робот тоже определит город - эту информацию он и занесет в индекс.

Share this post


Link to post
Share on other sites

В дополнение к выше сказанному мной.

 

В файле шаблона, где будем выводить информацию по городу, пишем функцию php

function isBot(&$botname = ''){
/* Эта функция будет проверять, является ли посетитель роботом поисковой системы */
  $bots = array(
    'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
    'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
    'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
    'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
    'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
    'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
    'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex',
    'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com',
    'Nigma.ru','bing.com','dotnetdotcom'
  );
  foreach($bots as $bot)
    if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
      $botname = $bot;
      return true;
    }
  return false;
}

Далее используем условие:

if( isBot($bname) ) {
   // ничего не вствляем, а если не бот - вставляем геопределение региона яндексу.
}

Share this post


Link to post
Share on other sites

Помогите плиз.

Я сделал, как написал colaweb

Задача, определить страну посетителя и подставить ему нужную информацию.

Все работает в таком виде:

window.onload = function () {
	var country = ymaps.geolocation.country;
	if(country == 'Беларусь') {
	jQuery(".currency").text('70 бел. р.');
	}
	if(country == 'Россия') {
	jQuery(".currency").text('1690 р.');
	}
}

Но если страна здесь не указана и пользователь пришел например из Украины, добавляем такой кусок:

else {
  jQuery(".currency").text('Доставка X');
 }

но в таком случает если же я пришел из России, все равно срабатывает 'else'

как исправить?

заранее премного благодарен, спасибо :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By zemleroi
      600.00 руб
      Скачать/Купить дополнение


      Конструктор Яндекс.Карт
      Модуль позволяет легко вставить с любое место на сайте Яндекс Карту с элементами управления, метками, полигонами, кругами и линиями. Кроме того, карта имеет широкий круг настроек.
      Установка:
      1. Скачайте архив под свою версию магазина
      2. Скопировать из папки upload файлы в корень магазина по ftp
      3. Обновите модификаторы
      4. Установить стандартным способом модуль "Конструктор Яндекс Карт"
      5. Добавляйте карты
       
      Особенности:
      1. Редактирование элементов на карте из админ-панели магазина
      2. Неограниченное количество создаваемых карт
      3. Простая вставка карт в текстовые формы используя BB-code
      и т.д.
       
      page-demo
      admin-demo
      Логин: demo
      Пароль: demo
       
       
      Проверено: OC 2.0.x,2.1.x,2.3.x, os 2.0.x,2.1.x,2.3.x
      Добавил zemleroi Добавлено 16.11.2018 Категория Модули Системные требования Сайт разработчика Старая цена 1000 Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      Не проверялось Обращение к серверу разработчика  
    • By zemleroi
      Модуль позволяет легко вставить с любое место на сайте Яндекс Карту с элементами управления, метками, полигонами, кругами и линиями. Кроме того, карта имеет широкий круг настроек.
      Установка:
      1. Скачайте архив под свою версию магазина
      2. Скопировать из папки upload файлы в корень магазина по ftp
      3. Обновите модификаторы
      4. Установить стандартным способом модуль "Конструктор Яндекс Карт"
      5. Добавляйте карты
       
      Особенности:
      1. Редактирование элементов на карте из админ-панели магазина
      2. Неограниченное количество создаваемых карт
      3. Простая вставка карт в текстовые формы используя BB-code
      и т.д.
       
      page-demo
      admin-demo
      Логин: demo
      Пароль: demo
       
       
      Проверено: OC 2.0.x,2.1.x,2.3.x, os 2.0.x,2.1.x,2.3.x
    • By korsox
      849.00 руб
      Скачать/Купить дополнение


      Контакты на Яндекс.Карте с галереей изображений
      Контакты на Яндекс.Карте с галереей изображений v.1.0
      ОПИСАНИЕ
      Модуль удобно отображает местоположение Ваших магазинов, офисов и пунктов выдачи на Яндекс карте, с возможностью добавления изображений и ссылок для более подробной информации.
      С этим модулем Ваши клиенты всегда Вас найдут!
      УСТАНОВКА
      Через phpMyAdmin импортируйте в базу данных файл из папки sql
      Скопируйте файлы из папки upload в корень сайта
      Установите и настройте модуль в администраторской части сайта
      В настройках модуля введите лицензионный ключ

      УСТАНОВКА НЕ ЗАТРАГИВАЕТ ФАЙЛЫ ДВИЖКА. VQMOD НЕ ИСПОЛЬЗУЕТСЯ.
      ОТОБРАЖЕНИЕ НА САЙТЕ
      Вы можете воспользоваться стандартным функционалом и разместить модуль в интересующих Вас схемах.
      Для размещения модуля в нестандартном месте, Вам потребуется добавить:
      в контроллере $this->children = array( 'module/contact_map', ...);

      в шаблоне <?php echo $contact_map; ?>


      СОДЕРЖИТ JQUERY ПЛАГИНЫ:
      fancyBox 2.1.5
      slick 1.5.7

      ПОДДЕРЖИВАЕМЫЕ ЯЗЫКИ В КОМПЛЕКТЕ:
      Russian
      ПОДДЕРЖИВАЕМЫЕ ВЕРСИИ:
      1.5.x
      ЛИЦЕНЗИЯ
      Для получения лицензионного ключа, скачайте архив с модулем и напишите мне в личные сообщения свой email и доменное имя магазина на котором будет стоять модуль. Лицензионный ключ будет выслан Вам на Ваш email.
      Один лицензионный ключ для одного домена. Срок действия лицензии не ограничен.
      ТРЕБОВАНИЯ К СЕРВЕРУ
      PHP 5.4+
      ionCube PHP Loader 5.0+

      ПРИМЕР
      searchauto.freedev.ru/contact

      ПОДДЕРЖКА
      При возникновении ошибок, вопросов расширения функционала или обновлений, обращаться к автору модуля: skype korsox, korsox@mail.ru
      Добавил korsox Добавлено 12.11.2015 Категория Слайдшоу, баннеры, галереи  
    • By toporchillo
      Скачать/Купить дополнение


      Доставка по областям на карте
      Модуль позволяет настроить доставку в зависимости от координат адреса доставки.
      В системе администрирования на интерактивной карте можно нарисовать разные области,
      и для каждой области указать ее стоимость доставки.
       
      Если координаты адреса доставки во время заказа попадут в одну из областей на карте,
      то стоимость доставки будет той, которая соответствует этой области.
      Географические координаты адреса доставки модуль определяет при помощи сервиса
      Геокодирования от Яндекса.
      Приобретая этот модуль, вы приобретаете право его использования на одном сайте.
      Демо: http://toporchillo.myjino.ru/os23 и http://toporchillo.myjino.ru/os23/admin/
       
      ИНСТРУКЦИЯ ПО УСТАНОВКЕ
      1. Распаковать  содержимое  архива. Содержимое папки upload из архива скопировать поверх структуры папок сайта.
      2. В системе  администрирования  в разделе "Дополнения - Доставка" должен появиться модуль "Доставка по областям на карте". Его необходимо установить.
      3. В разделе  системы администрирования "Система-Пользователи-Группы пользователей" для группы пользователей "Главные администраторы" необходимо  отметить галку  "extension/shipping/maparea" для просмотра и для редактирования.
      4. Если необходимо отображать карту на странице оформления заказа, то надо добавить на страницу заказа JavaScript
      <script src="https://api-maps.yandex.ru/2.1/?lang=ru-RU"></script>  
       
       
      Добавил toporchillo Добавлено 11.03.2013 Категория Доставки Системные требования Сайт разработчика http://sourcedistillery.com/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
    • By toporchillo
      Модуль позволяет настроить доставку в зависимости от координат адреса доставки.
      В системе администрирования на интерактивной карте можно нарисовать разные области,
      и для каждой области указать ее стоимость доставки.
       
      Если координаты адреса доставки во время заказа попадут в одну из областей на карте,
      то стоимость доставки будет той, которая соответствует этой области.
      Географические координаты адреса доставки модуль определяет при помощи сервиса
      Геокодирования от Яндекса.
      Приобретая этот модуль, вы приобретаете право его использования на одном сайте.
      Демо: http://toporchillo.myjino.ru/os23 и http://toporchillo.myjino.ru/os23/admin/
       
      ИНСТРУКЦИЯ ПО УСТАНОВКЕ
      1. Распаковать  содержимое  архива. Содержимое папки upload из архива скопировать поверх структуры папок сайта.
      2. В системе  администрирования  в разделе "Дополнения - Доставка" должен появиться модуль "Доставка по областям на карте". Его необходимо установить.
      3. В разделе  системы администрирования "Система-Пользователи-Группы пользователей" для группы пользователей "Главные администраторы" необходимо  отметить галку  "extension/shipping/maparea" для просмотра и для редактирования.
      4. Если необходимо отображать карту на странице оформления заказа, то надо добавить на страницу заказа JavaScript
      <script src="https://api-maps.yandex.ru/2.1/?lang=ru-RU"></script>  
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.