文件作用解析之:init_languages.php,init_templates.php
来源:互联网 发布:分布式数据库系统 编辑:程序博客网 时间:2024/06/05 08:54
一、init_languages.php
这个文件在:includes/init_includes目录或子目录overrides下。
这个文件是被autoload_func.php中加载的。
这个文件的作用是得到语言设置。
首先检查有没有在get参数中传递语言的code(key为language),如果有传递,并且该值是有效的code,则将此次的语言设置为get参数指定的。当中用得到了language.php类。如果get传递了有language参数,但是却是无效的,那么就将采用默认的语言设置。
如果get参数中没有传递language这个key,则看是否使用浏览器通过HTTP_ACCEPT_LANGUAGE传递的语言设置,有的话,就从中获取,找到一个有效的就返回。
如果也不从浏览器获取,那么就直接使用默认的设置。
然后设置以下session值:
$_SESSION['language'] = (zen_not_null($lng->language['directory']) ? $lng->language['directory'] : 'english');
$_SESSION['languages_id'] = (zen_not_null($lng->language['id']) ? $lng->language['id'] : 1);
$_SESSION['languages_code'] = (zen_not_null($lng->language['code']) ? $lng->language['code'] : 'en');
二、init_templages.php
该文件同样是由autoload_func.php加载的。
用于定位出模板文件的目录。
操作的表是:template_select,当前选择的模板名称表。
1、首先查询template_language=0的那个模板(表示不管当前是哪个语言设置,都适用),记录template_dir字段(如classic)到变量$template_dir;
2、然后查询template_language = '" . $_SESSION['languages_id']的设置项。这个表明,还可以根据语言来设置不同的模板,如果这个能查到值,就将替换上面得到的$template_dir。
紧接着就定义template相关的常量,如:
/**
* The actual template directory to use
*/
define('DIR_WS_TEMPLATE', DIR_WS_TEMPLATES . $template_dir . '/'); //即includes/templates/$template_dir
define('DIR_WS_TEMPLATE_IMAGES', DIR_WS_TEMPLATE . 'images/');
define('DIR_WS_TEMPLATE_ICONS', DIR_WS_TEMPLATE_IMAGES . 'icons/');
3、然后,查看语言路径下,该模板目录下,是否有相应的语言设置文件(如当前选择的模板为classic,当前session['language']=english,则在includes/languages/classic下判断是否有english.php文件),如果有,就加载该语言配置文件(用include_once),这里记录的是一些常量,用来显示不同的语言,当然code都是英文,值是各种语言。
如果没有(如includes/languages/classic下就没有english.php文件),则会加载includes/languages/下的session['language'].php文件(如english.php文件)(用include_once加载)。
4、设置content-type
header("Content-Type: text/html; charset=" . CHARSET);
5、加载modules目录下的额外配置,未必存在,只是给用户扩展的一个地方:
include(DIR_WS_MODULES . 'extra_definitions.php');
0 0
- 文件作用解析之:init_languages.php,init_templates.php
- 文件作用解析之:init_sanitize.php
- 文件作用解析之:tpl_main_page.php
- 文件作用解析之:application_top.php
- 解读PHP DOMDocument在解析XML文件中的作用
- PHP解析XML文件
- php解析.ini文件
- php解析xml文件
- php解析xml文件
- PHP解析Excel文件
- Php 解析XML文件
- Php 解析XML文件
- php文件锁解析
- PHP文件路径解析
- php解析exe文件--exeinfo.php
- php官方网---php解析xml文件
- php-excel-reader,PHP解析Excel文件
- PHP 作用域解析运算符(::)
- libsvm-mat(林智仁版)安装方法
- 如何在zencart添加一个页面
- Implementing __weak ownership qualifier
- android 为 view 添加遮罩
- 控制JAXB的输入输出
- 文件作用解析之:init_languages.php,init_templates.php
- 矩阵快速幂
- 构成回文序列最少要增加多少字符
- 文件作用解析之:init_sanitize.php
- zencart函数解析
- Chrome 浏览器,unknown software exception,0x80000003
- Wpf学习系列1 路由事件
- zencart加载流程
- POJ2234:Matches Game(Nim)