本文以实例形式简述了ThinkPHP的多语言支持与多模板支持。是ThinkPHP中非常重要的技巧,分享给大家供大家参考。具体如下:
一、ThinkPHP多语言支持:
config.php配置文件中添加:
1
2
3
4
5
|
//多语言支持设置
'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页面如下:
1
2
3
4
5
6
|
<?php
return array (
'welcome' => '你好' ,
'lan' => '简体中文' ,
);
?>
|
en-us/common.php页面如下:
1
2
3
4
5
6
|
<?php
return array (
'welcome' => 'how are you fine?' ,
'lan' => 'english' ,
);
?>
|
zh-tw/common.php页面如下:
1
2
3
4
5
6
|
<?php
return array (
'welcome' => '你好' ,
'lan' => '簡體中文' ,
);
?>
|
模板index.php代码如下:
1
2
3
4
|
欢迎:{ $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配置文件中添加:
1
2
3
|
//多模板支持
'TMPL_SWITCH_ON' =>true,
'TMPL_DETECT_THEME' =>true,
|
/Home/Tpl/下建立其它皮肤文件夹,比如文件夹red,其中的文件与default文件中的一样。
在模板文件中添加:
1
2
|
< a href = "?t=red" rel = "external nofollow" >红</ a >
< a href = "?t=default" rel = "external nofollow" >默认</ a >
|
相信本文所述实例对大家ThinkPHP学习和开发有所帮助。