zoukankan      html  css  js  c++  java
  • ECSHOP语言包lang的加载原理

    首先大家要明白的一点是:ecshop目录下的languages目录,这个就是ecshop语言包所在目录。

    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里面.

          require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');


          require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');

    if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))


    {
        include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));


    }

    假设后台的某个文件名为 admin/category.php.


    那么这个页面所用的语言包文件就是加载的 languages\zh_cn\admin\category.php


    这个得尤其注意。


    这就是说,如果你要在后台建立一个新页面.那么也要在语言包里面新建立一个对应的语言包文件才可以.

  • 相关阅读:
    最大似然估计
    信号和槽:Qt中最差劲的创造
    从生物神经网络到人工神经网络
    巩固一下C语言中的指针
    linux启动后自动登录并运行自定义图形界面程序
    删除linux系统服务
    《痞子衡嵌入式半月刊》 索引
    痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU开发那些事
    痞子衡嵌入式:高性能MCU之音视频应用开发那些事
    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU开发那些事
  • 原文地址:https://www.cnblogs.com/wangblognet/p/2809963.html
Copyright © 2011-2022 走看看