Сайт на Drupal7 на 3х языках: Русский-по умолчанию, Английский, Китайский.
Цель: После захода посетителя (в т.ч. не авторизованного) на сайт, автоматически определить его страну и если это Россия, автоматический переключить сайт на русский, если Китай - на китайский, для всех остальных на английский.
Сейчас для определения страны сайта используется модуль ip2country (может быть любой другой, не принципиально).
Подскажите как решить вопрос?
Комментарии
по личному опыту, никогда не решайте за юзера
оптимальное решение, это определения языка на уровне браузера, а не на уровне локации
сделал шрифт меньше
Спасибо за ответ, попробую предложить заказчику этот вариант.
И если позволите, дополнительный вопрос.
Сайт, это интернет магазин, где для всех товаров будет указываться куда товар может быть доставлен (только 3 варианта): Россия, Китай, Европа.
Соответственно нужно при показе товаров отфильтровать их по стране пользователя, чтобы не получилось так что пользователь из России оплатит товар доставка которого осуществляется только в Китае.
Как лучше реализовать такую фильтрацию товаров? Если товар доставляется в любую страну Европы, не хочется заставлять пользователя для каждого из таких товаров выбирать из списка стран все Европейские.
А как же Беларусь, Казахстан, Украина? И что если пользователь в опере включит режим "турбо"? Определение страны по айпи - затея не совсем надёжная. После определения региона нужно как минимум уведомить об этом пользователя и предложить переопределить вручную, если регион определён неверно. А чтобы пользователь из России не оплатил товар, доставляемый только в Китай, необходимо проводить валидацию на стадии оформления заказа.
https://www.drupal.org/project/global_filter
«Спасибо за ответ, попробую предложить заказчику этот вариант.»
- посредник манагер? фу фу фу. бедный заказчик
спасибо! изучу
-
И все таки, подскажите если кто то знает, модуль ip2country определяет страну, как добраться до этого значения при настройке views?
никак, у этого модуля нет поддержки views. только если писать свой handler
Спасибо. Вы могли бы это сделать за оговоренную сумму?
если вас устроит рейт в 2000 руб час и ~ 3-5 часов. велком
спасибо за информацию, при необходимости свяжусь с вами.
https://www.drupal.org/project/i18n
kolyuchy.org спасибо за ваш комментарий, какую из возможностей данного модуля вы имели ввиду для решения моего вопроса?
а никаких, это сугубо перевод контента.
Вообще-то там есть "фишка" определения языка по браузеру. admin/config/regional/language/configure
Determine the language from the browser's language settings.
http://drupal.ru/files/field/comment_node_blog/bez_imeni-1.jpg
В зависимсти от языка браузера, пользователю будет предоставлена подходящая версия.
З.Ы. "это сугубо перевод контента." - неправильное пояснение. Контент/содержание сайта этот модель не переводит.
эта "фишка" вообще идет по умолчнию в друпале
http://c2n.me/3HOg6WZ.jpg
В языковых настройках включите определение языка по настройкам языка в браузере. По умолчанию поставьте английский язык. И будет Вам счастье.
Да, я знаю. Но изначальное требование было " После захода посетителя (в т.ч. не авторизованного) на сайт, автоматически определить его страну (по IP) и если это Россия, автоматический переключить сайт на русский, если Китай - на китайский, для всех остальных на английский.". К счастью с помощью всех прокомментировавших этот пост удалось изменить это требование.
я вам уже ответил, никогда не считайте себя умнее юзеров и не принимайте решение за них. В идеале, попап "ваша страна такая то, переключить?". но, переключать жестко.... я поеду в китай по работе и вы меня ВСЕГДА будет на китайскую версию будете редиректить, угадайте мою реакцию?
все правильно. поэтому переключать надо не по стране, а языку браузера. плюс кнопочки переключения языка.
ну, тут дело ваше, но по моему опыту, лучше спрашивать сначала
Вы абсолютно правы. Поэтому в результате сделали как вы порекомендовали. Правда вопрос о том как во вьюс добраться до определенной по IP страны пользователя остался открытым (
Передавайте в контекстный фильтр переменную из сессии
щас чел подключит php_views и будет беда печаль
В контекстный фильтр можно писать код прямо в браузер даже без пхп вьюс))
без включения пхп фильтра, нельзя
Можно.
а да, ты прав
@ Tinnka
Я просто визуально покажу мой вечно незаконченный эксперементальный мультиязычный сайт на 65 языках c использованием Internationalization
Radionete.com
Тут тыщи на 3 работы
стукнул в скайп
не вижу стука
Отписал в личку