• ECshop语言包lang的加载原理


    当前使用的ecshop的版本:2.7.3,ecshop 2.7.3版本的网店系统的语言包的位置是ecshop文件下 languages/xxx/   其中的xxx表示各种语言的文件夹,里面存放指定语言的内容。ecshop默认的语言包为中文简体即zh_cn目录.

    语言包的载入过程都是通过ecshop的init.php中的require(ROOT_PATH . ‘languages/’ . $_CFG['lang'] . ‘/common.php’)处理和控制代码来加载的.
    这个$_CFG['lang'] 的值是存储在数据表shop_config的。搜索 code=lang 的记录,对应的值就是该语言包名称。默认是zh_cn。
    所有语言包中的数组名称是$_LANG.
    我们可以看到在init.php中,通过smarty来初始化 $smarty->assign(‘lang’, $_LANG);
    当ecshop语言包得到初始化之后,我们就可以在模板中通过{$lang.edit}方式来访问语言包中各个名称了。
    ecshop的后台,也有讲究.语言包加载.他的控制文件在admin/includes/init.php里面.

    1. require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');  
    2. require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');  
    3. if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))  
    4. {  
    5. include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));  
    6. }  

    假设后台的某个文件名为 admin/user.php.
    那么这个页面所用的语言包文件就是加载的 languageszh_cnadminuser.php
    这个得尤其注意。
    这就是说,如果你要在后台建立一个新页面.那么也要在语言包里面新建立一个对应的语言包文件才可以。

  • 相关阅读:
    tsql导出EXCEL语句待测试
    IE和Firefox下event乱谈
    cf 167.d( 多重集全排列 )
    poj 1815(最小割 + 枚举)
    Codeforces Round #167 (Div. 2)
    poj 3308(最小割+对数处理)
    在FootTemplate与ItemTemplate中间扩展Repeater模板
    在没有高度设定的情况下让margintop生效
    float:left后整体居中
    判断ExecuteScalar()是否返回结果
  • 原文地址:https://www.cnblogs.com/behindman/p/8856382.html
Copyright © 2020-2023  润新知