ECSHOP语言包lang的加载原理-站长杂谈下载

ECSHOP语言包lang的加载原理

来自版块: 站长杂谈发表于: 2015-8-8 23:27:54
23764
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
首先大家要明白的一点是:ecshop目录下的languages目录,这个就是ecshop语言包所在目录。
8 h  O% ~: V$ P* H3 ]) r9 I9 v+ }2 W3 E' d; H# Q
ecshop默认的语言包为中文简体即zh_cn目录.
/ F9 b5 k# F7 ^1 [% m语言包的载入过程都是通过ecshop的init.php中的require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php')处理和控制代码来加载的.
这个$_CFG['lang'] 的值是存储数据表shop_config的。搜索 code=lang 的记录,对应的值就是该语言包名称。默认是zh_cn。
! l2 x* U! ~0 G% x  I0 a0 o% Y所有语言包中的数组名称是$_LANG.
) S6 j( _( h$ T" A5 i- E我们可以看到在init.php中,通过smarty来初始化 $smarty->assign('lang', $_LANG);
  当ecshop语言包得到初始化之后,我们就可以在模板中通过{$lang.edit}方式来访问语言包中各个名称了。
      ecshop的后台,也有讲究.语言包加载.他的控制文件在admin/includes/init.php里面.
      require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');
, x/ D+ l, Q* _  ^      require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');
if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))
! K; }/ ~/ |6 O+ _9 H+ @1 x{
. S" h4 ]* |2 t  o* o) [; L    include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));4 m' L- p: U5 t1 O4 Q
}
假设后台的某个文件名为 admin/category.php.3 y) s# Y  B& {+ @! B! u
那么这个页面所用的语言包文件就是加载的 languages\zh_cn\admin\category.php
1 Y# E- P9 x2 `0 w2 T, J1 F这个得尤其注意。1 w: u1 T' D, {- x
这就是说,如果你要在后台建立一个新页面.那么也要在语言包里面新建立一个对应的语言包文件才可以.

7 b% O4 i2 @4 E. ]) C  Z

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部