ThinkPHP多语言支持与多模板支持概述


Posted in PHP onAugust 22, 2014

本文以实例形式简述了ThinkPHP的多语言支持与多模板支持。是ThinkPHP中非常重要的技巧,分享给大家供大家参考。具体如下:

一、ThinkPHP多语言支持:

config.php配置文件中添加:

//多语言支持设置
'LANG_SWITCH_ON'=>true,
'DEFAULT_LANG'=>'zh-cn',
'LANG_AUTO_DETECT'=>true,
'LANG_LIST'=>'en-us,zh-cn,zh-tw',

Home/Lang/文件夹下建立三个文件夹,分别为zh-cn ,en-us ,zh-tw 分别代表简体中文,英文,繁体中文

文件夹下可以建立与模板对应的文件,或者公用文件common.php

zh-cn/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'简体中文', 
);
?>

en-us/common.php页面如下:

<?php
return array(
 'welcome'=>'how are you fine?',
 'lan'=>'english', 
);
?>

zh-tw/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'??中文', 
);
?>

模板index.php代码如下:

欢迎:{$Think.lang.welcome} 语言:{$Think.lang.lan}
<a href="?l=zh-cn" rel="external nofollow" >简体中文</a>
<a href="?l=en-us" rel="external nofollow" >english</a>
<a href="?l=zh-tw" rel="external nofollow" >繁?中文</a>

或者在Action的方法里直接定义:L('demo','测试');这样,在模板里就可以直接应用了:{$Think.lang.demo}
对于在模型中,比如有:array('uname','require','用户名必填');可以这么用:array('uname','require','%name');

二、ThinkPHP多模板支持:

config.php配置文件中添加:

//多模板支持
 'TMPL_SWITCH_ON'=>true,
 'TMPL_DETECT_THEME'=>true,

/Home/Tpl/下建立其它皮肤文件夹,比如文件夹red,其中的文件与default文件中的一样。

在模板文件中添加:

<a href="?t=red" rel="external nofollow" >红</a>
<a href="?t=default" rel="external nofollow" >默认</a>

相信本文所述实例对大家ThinkPHP学习和开发有所帮助。

PHP 相关文章推荐
动态新闻发布的实现及其技巧
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php ajax 静态分页过程形式
Sep 02 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
在Laravel中使用DataTables插件的方法
May 29 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 #PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 #PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 #PHP
PHP中new static()与new self()的区别异同分析
Aug 22 #PHP
PHP中的替代语法简介
Aug 22 #PHP
destoon供应信息title调用出公司名称的方法
Aug 22 #PHP
You might like
PHP 反向排序和随机排序代码
2010/06/30 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
浅析javascript 定时器
2014/12/23 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
python实现调用其他python脚本的方法
2014/10/05 Python
python根据出生日期返回年龄的方法
2015/03/26 Python
PyMongo安装使用笔记
2015/04/27 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
什么是python的自省
2020/06/21 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
厨房领班竞聘演讲稿
2014/04/23 职场文书
学习型班组申报材料
2014/05/31 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
生日祝酒词大全
2015/08/10 职场文书
实验心得体会范文
2016/01/25 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS