Вывод блоков в зависимости от города посетителя, ч.2
Приветствую, Друзья!
В этом видеоуроке мы продолжим тему о том, как поменять блок на сайте в зависимости от того, из какого города пришел посетитель. Сейчас уже без привязки к 1С-Битрикс.
Я не буду повторять текст прошлого поста – зачем надо определять город, где используется и т.д.
Повторю только 2 варианта решения задачи:
- С помощью модуля Веб-аналитика – это простой вариант, работает с помощью 4-х строк простейшего PHP кода.
- С помощью внешних интернет-сервисов, которые могут по запросу сказать город по представленному IP адресу.
Сегодня смотрим как раз 2-й вариант. Кто пропустил первый – смотрим прошлый урок на блоге.
Вариант №2 немного сложнее. Там не 4 строки PHP кода, а аж 15 :)
Причем не просто чистый PHP, а будем использовать пару библиотек его расширяющих – cURL и SimpleXML. С помощью cURL запросим город отослав IP посетителя. В ответ получим строку в XML формате, из которого вытащим только нужный нам город с помощью SimpleXML.
Я не скажу, что если Вы ничего не знаете PHP, то можете и не смотреть урок. В принципе, если просто скопировать код из урока в свой магазин на Битриксе с ред. Малый бизнес, то все работать будет, просто меняете город на свой и получаете результат. Но это только если Ваш хостинг умеет cURL и SimpleXML, и если кодировка Вашего сайта UTF-8. Ну и если посещаемость маленькая и можно позволить на каждом хите запрашивать город посетителя с другого сайта.
Я не рассматриваю как закешировать результат запроса к внешнему сервису для конкретного посетителя, хотя даю направление куда рыть и какие могут быть грабли на Вашем пути. Мы только смотрим механизм как определить город посетителя и поменять в зависимости от этого что-то на сайте. Причем сайт может быть и не Битриксе, а любом другом PHP движке (Joomla, WordPress, DLE, Drupal, MODx, и т.д. ).
Если еще не отпугнул предыдущим текстом, то жмем кнопку Play:
На этом сегодня все! Не забываем жать на социальные кнопки слева и задавать свои вопросы чуть ниже в комментариях!

Если вам понравилась статья, то нажмите на одну из кнопок социальных сетей для размещения ссылки на страницу в своей ленте в этой соцсети.
Метки:Битрикс, видеоуроки, код, контент, разработка
Комментарии (4):
Marat
| #
исправил проблему — заменил вывод информации о переменной dump($city) на var_dump($city)
Ответить
Дмитрий Акифьев
| #
В PHP нет встроенной функции dump(). Я использую свою самописную функцию, которая выводит информацию в нужном мне формате и которую видят только администраторы, а другие пользователи сайта не видят. Функция прописана в отдельном файле и подключается в init.php, то есть доступна в любом файле движка.
Если у Вас такая функция не прописана, то var_dump() поможет, если проект не на продакшене.
Ответить
Marat
| #
у меня этот код не работает((( cURL на сервере установлен
Ответить
Дмитрий Акифьев
| #
Делайте отладку кода, смотрите что получается в переменных, какой ответ приходит с запрашиваемого сервера, может где-то опечатка, как у меня в видео.
Просто писать «код не работает», когда в видео показано, что код работоспособный, я не вижу смысла. Я не экстрасенс, мысли читать не умею, лечить на расстоянии сайты тоже.
Ответить