Многоязычный URL перенаправления на ту же страницу - PullRequest
0 голосов
/ 17 января 2019

Мне нужно перенаправить на ту же страницу, где мой (выбрать / ссылка) выбран или нажал (язык). Он перенаправляет меня на redirect(base_url()); мою домашнюю страницу, даже если я сменил язык на другой странице / просмотрах. Как я могу это исправить

Это мой контроллер LangSwitch:

class LangSwitch extends CI_Controller
{
    public function __construct() {
        parent::__construct();
        $this->load->helper('url');
    }

    function switchLanguage($language = "") {
        $language = ($language != "") ? $language : "english";
        $this->session->set_userdata('site_lang', $language);
        redirect(base_url());
    }
}

Это мой контроллер Language Loader:

class LanguageLoader
{
    function initialize() {
        $ci =& get_instance();
        $ci->load->helper('language');

        $site_lang = $ci->session->userdata('site_lang');
        if ($site_lang) {
            $ci->lang->load('nav_menu',$ci->session->userdata('site_lang'));
        } else {
            $ci->lang->load('nav_menu','english');
        }
    }
}

Это мой контроллер TestLanguage Loader:

class TestLanguage extends CI_Controller
{
    public function __construct() {
        parent::__construct();
        $this->lang->load("nav_menu","english");
        $this->load->library('session');
    }

    function index() {
        $data["main_production"] = $this->lang->line("main_production");
        $this->load->view('nav_menu', $data);
    }
}

Я использую этот путь для моей ссылки:

<a href="<?=base_url()?>langswitch/switchLanguage/english">

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте использовать $_SERVER['HTTP_REFERER'] для перенаправления на последний посещенный URL:

if(!empty($_SERVER['HTTP_REFERER'])){
    redirect($_SERVER['HTTP_REFERER']);
} else {
    redirect(base_url());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...