Разная главная страница Drupal из разных стран - PullRequest
1 голос
/ 07 октября 2010

У меня есть сайт drupal, и я хочу перенаправить посетителей на другую страницу в зависимости от страны.У меня есть этот код:

require_once "Net/GeoIP.php";
$geoip = Net_GeoIP::getInstance("Net/GeoIP.dat");
try {
    $geocode = $geoip->lookupCountryCode($_SERVER['REMOTE_ADDR']);
} catch (Exception $e) {
    $geocode = 'EN';
}
switch ($geocode) {
    case 'HU':
        header('Location: http://www.example.com/hu');
        break;
    case 'GB':
        header('Location: http://www.example.com/en');
        break;
    case 'AT':
        header('Location: http://www.example.com/at');
        break;
    case 'CY':
        header('Location: http://www.example.com/cy');
        break;
    case 'DE':
        header('Location: http://www.example.com/de');
        break;
    case 'NL':
        header('Location: http://www.example.com/nl');
        break;
    case 'CH':
        header('Location: http://www.example.com/ch');
        break;
    case 'ES':
        header('Location: http://www.example.com/es');
        break;
    case 'US':
        header('Location: http://www.example.com/us');
        break;
    default:
        header('Location: http://www.example.com/en');
}

Это хорошо работает на обычном PHP-файле.Как я могу это сделать в drupal?Как я могу перенаправить посетителей на нужный узел?

Ответы [ 2 ]

0 голосов
/ 12 октября 2010

Я тоже не понимаю, почему не использовать существующее решение, но все же: вы пытались поместить свой фрагмент внутри page.tpl.php?Просто убедитесь, что путь к нужной библиотеке правильный.Возможно, вы захотите поместить Net / GeoIP.php в вашу папку sites / all / library и таким образом изменить require_once "Net / GeoIP.php" на require_once "../../libraries/Net/GeoIP.php ".Предполагается, что ваш page.tpl.php находится внутри sites / all / themes / yourtheme /

0 голосов
/ 07 октября 2010

Возможно, вы захотите использовать http://drupal.org/project/ip2locale

Он поддерживает GeoIP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...