thinkphp 3.2.3实现中英网站分享一下

浏览:1100 发布日期:2016/06/05 分类:技术分享 关键字: 中英文
1、前情提要:数据库前缀用 cn_ 和 en_开头的, 我在切换的时候就切换了数据库前缀。

前台模板实现
===========================<a href="{:U('Common/lang',array('langid'=>'cn'))}">中文</a>
<a href="{:U('Common/lang',array('langid'=>'en'))}">英文</a>
控制器//语言切换
    public function lang(){
        $id = I('langid');
        if($id=='en'){
              setcookie('home_lang','en');             
          }else{
              setcookie('home_lang','cn');              
        }        
        $this->redirect('Index/index');        
    }

当然在HOME控制器里面的Common/里面要加一个
C('DEFAULT_THEME',$_COOKIE['home_lang']); //切换主题  重要
    
数据库配置文件处$lan = 'cn';
if (stripos(strtolower($_SERVER['PHP_SELF']),'admin')===false){    
    $lan = isset($_COOKIE['home_lang'])?$_COOKIE['home_lang']:$lan;        
}
else {    
    $lan = isset($_COOKIE['admin_lang'])?$_COOKIE['admin_lang']:$lan;
}
/*数据库配置*/
return array(
    //'配置项'=>'配置值'
    'DB_TYPE'=>'mysql',
    'DB_HOST'=>'127.0.0.1',
    'DB_NAME'=>'adsf',
    'DB_USER'=>'root',
    'DB_PWD'=>'root',
    'DB_PORT'=>'3306',
    'DB_PREFIX'=>$lan.'_',
);
后台模板实现
============================= <li><b>当前语言:</b><span style="color:red;"><php>echo $_COOKIE['admin_lang']=='cn'?'中文':'英文';</php></span>
切换语言:<a href="{:U('Common/lang',array('langid'=>'cn'))}">中文</a> <a href="{:U('Common/lang',array('langid'=>'en'))}">英文</a> </li>
控制器    //语言切换
    public function lang(){
        $id = I('langid');
        if($id=='en'){
              setcookie('admin_lang','en');             
          }else{
              setcookie('admin_lang','cn');              
        }        
        $this->redirect('Index/index');        
    }
请大神指正。

个人思路仅供参考,不喜勿喷,谢谢。不明白之处联系QQ:564379992.
最佳答案
评论( 相关
后面还有条评论,点击查看>>