大家好,根据$ _SESSION param,有人可以帮我路由我的应用网址吗?
这是切换lang路线的最佳方法吗?
使用多个路径文件怎么样? (我的意思是route_ch.php,route_en.php,route_sp.php,)
是否有任何链接可以了解如何根据网站lang进行路由?
谢谢你们
答案 0 :(得分:0)
您需要使用所选语言的会话检查来扩展视图控制器。然后,您可以相应地重定向()用户。
创建一个控制器,即LangSwitch.php
<?php
class LangSwitch extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
function switchLanguage($language = "") {
$language = ($language != "") ? $language : "en";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
}
切换每种可用语言的链接:
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/en'>English</a>
<a href='<?php echo $base_url; ?>langswitch/switchLanguage/fr'>French</a>
在 application / hooks 目录下定义/创建一个钩子类[LanguageLoader.php],并提供执行它的必要信息。
<?php
class LanguageLoader
{
function initialize() {
$ci =& get_instance();
$ci->load->helper('language');
$site_lang = $ci->session->userdata('site_lang');
if ($site_lang) {
$ci->lang->load('message',$ci->session->userdata('site_lang'));
} else {
$ci->lang->load('message','en');
}
}
}
这只是一个适合我的运行理念。我希望它对你也有用。