Разработка плагина геотаргетинга
Необходимо разработать плагин геотаргентинга, позволяющий:
определять местоположении посетителя по его IP-адресу, хранить данную информацию и при необходимости корректировать,
автоматически подставлять данные местоположения посетителя в соответствующие формы,
осуществлять перенаправление посетителя между витринами в зависимости от местоположения посетителя по предустановленным правилам,
создавать, редактировать и удалять неограниченное количество геотаргетинговых блоков с настройкой вывода их, в зависимости от местоположения посетителя,
логгирование работы плагина с записью данных в локальную базу данных.
Логика работы:
проверка наличия записи местоположения посетителя в cookie, если запись есть - устанавливаем местоположение из cookie, если нет...
производим предварительное определение местоположения посетителя по IP-адресу;
уточнение у посетителя правильности определения с помощью всплывающего окна:
в случае верного предварительного определения - посетитель подтвердил верность нажатием на соответствующую кнопку - закрыть всплывающее окно и записать данные местоположения посетителя в cookie,
при неверном определении - посетитель нажал на кнопку соответствующую ошибочному определению местоположения - вывести окно или поле для ввода или выбора посетителем его местоположения, после чего закрыть/свернуть данное поле или окно и записать данные местоположения в cookie;
в случае необходимости, посетитель в любой момент нахождения на сайте должен иметь возможность вызвать всплывающее окно или поле для корректировки информации о его местоположении.
Технические особенности:
информацию о соответствии IP-адресов и местоположений необходимо получать из проекта IpGeoBase.ru, реализацию загрузки информации в локальную базу данных выполнить в двух вариантах - а) автоматический режим - запуска скрипта по расписанию с помощью cron, б) ручной режим - загрузка данных в локальную базу данных из админки;
информация о местоположении должна записываться в cookie и храниться в них максимальное возможное время - в случае, если на компьютере посетителя в cookie имеется запись о местоположении, то использовать информацию из них;
плагин должен вести сбор и хранение следующей информации:
IP-адрес посетителя,
значение местоположения, присвоенное плагином автоматически,
значение местоположения, введенное посетителем вручную;
Реализация
Чтобы сэкономить время, предлагаю взять в качестве примера готовый PHP класс для работы с базой ipgeobase (http://faniska.ru/php-kusochki/geotargeting-novyj-php-klass-dlya-raboty-s-bazoj-ipgeobase-ru.html).