Вывод блоков в зависимости от города посетителя
Приветствую, Друзья!
В этом видеоуроке вы узнаете о том, как поменять какой-то блок на сайте (текст, баннер, статью и т.д. ) в зависимости от того, из какого города пришел посетитель.
Смена надписей очень востребована в интернет-магазинах, так как часто надо показать дополнительные условия для покупателей из конкретных городов. Например, магазин может доставлять по Москве бесплатно, и это надо показать всем москвичам, но не показывать покупателям из других городов, чтобы не обзавидовались. :)
Есть 2 варианта решения задачи:
- С помощью модуля Веб-аналитика – это простой вариант, работает с помощью 4-х строк простейшего PHP кода.
- С помощью внешних интернет-сервисов, которые могут по запросу сказать город по представленному IP адресу. Это вариант посложнее, его разберем в следующий раз.
Мы будем использовать первый вариант, так как он простой. Есть только один нюанс – модуль Веб-аналитика присутствует только в редакция Бизнес и Эксперт. Счастливые обладатели этих редакций радуются, остальные ждут продолжения.
К сожалению, нельзя обойтись без кода. Но урок сделан так, что даже не зная язык программирования PHP Вы можете просто скопировать итоговый код (4 строки) и вставить в нужном месте своего сайта и получить аналогичный результат подставив свое название города. Поэтому не считаю это уроком для разработчиков. Урок для всех.
У кого имеется 1С-Битрикс ред. Бизнес, смотреть обязательно:
На этом сегодня все! Не забываем жать на социальные кнопки слева и задавать свои вопросы чуть ниже в комментариях!

Если вам понравилась статья, то нажмите на одну из кнопок социальных сетей для размещения ссылки на страницу в своей ленте в этой соцсети.
Метки:аналитика, Битрикс, видеоуроки, код, контент, разработка, ред. Бизнес
Комментарии (11):
zfjoury
| #
Написал вот такой код:
GetFullInfo();
echo $arCity["CITY_NAME"]["VALUE"];
?>
Ничего не выводит(((
Загружал через мастер архив с ipgeobase.ru
Архив: geo_files.tar.gz
Ответить
Дмитрий Акифьев
| #
Предположу, что объект Ccity правильно создан и данные берутся из него, а не просто написано GetFullInfo()
Тогда могу предположить что либо город не определяется, либо его нет в загруженной базе. Базы бывают разные, есть маленькие, а есть и на гигабайты.
Сделайте var_dump($arCity) и посмотрите что вообще туда попадает, если заходить напрямую и через прокси или анонимайзер. Исходя из этого делайте выводы.
Ответить
haker
| #
Зачем ставить защиту от просмотра неавторезироваными пользователями? еще и такую слабую????????
Ответить
Дмитрий Акифьев
| #
Это не защита от просмотра, а стимул подписаться на рассылку тем, кто пришел по поиску. И хорошо работает, кстати, хотя обойти легко, как и всегда можно отписаться от рассылки после получения кода (он не меняется)...
Ответить
haker
| #
Спасибо за ответ =)
Ответить
Сергей
| #
Дмитрий, где вы базу GEOIP взяли?
Ответить
Дмитрий Акифьев
| #
Там прямо в мастере есть ссылки на базы. Берите ту, которая больше понравится (платная или бесплатная)
Ответить
Павел
| #
Здравствуйте, Дмитрий!
— Подскажите, возможно ли сделать скидку на товары для определенного Города на редакции Малый бизнес?
— А на редакции Бизнес для определенного города свою цену?
Спасибо.
Ответить
Дмитрий Акифьев
| #
Нет в обоих случаях. Скидки в редакции Бизнес точно такие же, только добавлены накопительные скидки, которые не дают никаких дополнительных механизмов назначения скидок, а только дают возможность работать с вернувшимися покупателями.
Указанную Вами скидку можно реализовать только после программной доработки кода компонентов.
Ответить
Алексей
| #
Спасибо, очень полезная информация, хотелось бы увидеть еще реализацию на версии малый бизнес.
Ответить
Дмитрий Акифьев
| #
Обязательно будет в следующую субботу. Уже в письмах спрашивали несколько раз и на канале Youtube были запросы.
Ответить