搜索
系统检测到您的用户名不符合规范:

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

浏览:1122 发布日期: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.
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
神夜
积分:418 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /