Новости Joomla

Вышел релиз Joomla 6.2

Релиз Joomla 6.2.0

Проект Joomla! рад сообщить о выходе новой минорной версии — Joomla 6.2 (кодовое имя Mwezi).

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1252 Просмотров
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Привествую друзья!
Задачку подкинули  !

Надо смену языка делать строга по IP.

Я тут набросал код, но чет не работает установка языка при загрузке сайта. По умолчанию в админки на сайт стоит у меня тег языка uk-UA (Украинский).

Плагин отрабатывает и выводит в переменную  $get_country страну по IP.

Joomla я пытаюсь установить язык RU, перед загрузкой сайта, чтоб загрузился язык не Укр. а Рус.

Код
class PlgSystemAutochangelang extends JPlugin
{
    public function onBeforeRender(){

        $get_country = file_get_contents("http://ipinfo.io/{$_SERVER['REMOTE_ADDR']}/country");
       
        $lang_code = "ru-RU";
        $newLang = JLanguage::getInstance('site',$lang_code);
        $app = JFactory::getApplication();
        $app->loadLanguage($newLang);       

        echo "test";

    }
}
Подскажите где я допускаю ошибку или код не верный чтоб напрямую заставлять грузится сайт на том языке на каком надо?
« Последнее редактирование: 22.07.2019, 14:06:22 от pavel2950 »
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Re: Смена языка сайта по IP
« Ответ #1 : 17.07.2019, 09:31:27 »
Большое спасибо форумчанену sivers

Решение проблемы:

Код
class PlgSystemAutochangelang extends JPlugin
{
    public function onAfterInitialise(){
        $app = JFactory::getApplication();
        if($app->isSite()){
            $uri = $_SERVER['REQUEST_URI'];           

            include_once __DIR__.'/SxGeo.php';

            $SxGeo = new SxGeo( __DIR__ .'/SxGeo.dat', SXGEO_BATCH | SXGEO_MEMORY);
            $get_country = $SxGeo->getCountry($_SERVER['REMOTE_ADDR']);
           
            if($get_country != 'UA' && strpos($uri, '/uk/')!== false) $uri = str_replace('/uk/', '/ru/', $uri);
            elseif($get_country == 'UA' && strpos($uri, '/ru/')!== false) $uri = str_replace('/ru/', '/uk/', $uri);

            if($uri != $_SERVER['REQUEST_URI']){
                header('HTTP/1.1 303 See Other');
                header('Location: '.$uri);
                exit();
            }
        }
    }
}
« Последнее редактирование: 22.07.2019, 14:05:21 от pavel2950 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Выскакивает окно логина и пароля htaccess на всех страницах сайта

Автор buto

Ответов: 4
Просмотров: 1640
Последний ответ 01.10.2026, 11:02:12
от hstq
Просмотр сайта на телефоне

Автор rezchik

Ответов: 14
Просмотров: 5576
Последний ответ 07.09.2026, 16:33:59
от rezchik
После бэкапа некорректно открываются страницы сайта

Автор usfeu

Ответов: 0
Просмотров: 1398
Последний ответ 23.06.2026, 13:06:06
от usfeu
Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 5523
Последний ответ 21.05.2025, 12:44:06
от jeans
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 6055
Последний ответ 24.03.2025, 20:03:01
от R31rus