Zen Cart主要文件详解Zen Cart main file detailed explanationAs the application_top.php in ZenCart system is theinitialization tasks, loading the configuration file forexample include ("includes/configure.php") ; , if not detectedin the file system will try to call the device file.
Then, it will take the initiative to traverse the configurationfile under include/extra_configures and include it.
After loading the next configuration file system is a veryimportant document, which led to the ZenCart and oscommercefeel very different causes, first invokes a require file("includes/initsystem.php") ;
In initsystem.php the first loadinginclude/auto_loaders/conf ig. core.php, conf ig. core.php is atwo round array$autoLoadConf ig, with an array of storage fileinformation for front file, then the system will then loadedthe include/auto_loaders directory of all the file name$loaderPrefix (default config) matching file.
The following program execution after the loading is activelyexecuting program require ("includes/autoload_func.php") ;here it will traverse the $autoLoadConfig array, which lasteffect will include all the necessary use may define functionclass, and variable initialization, the config.core.phpoutside of the obvious example
$autoLoadConf ig[0] [] =array ('autoType' ='c las s' , ' loadFi le'=' class.base.php ' ) ;
Outside the autoload_func.php executed after the effect isrequire (DIR_WS_CLASSES' class.base.php ' ) , the task is toinitialize the local big finish after including theinit_includes directory file, such as:
$autoLoadConf ig[110] [] = array ('autoType' = ' init_script' ,' loadFi le' = ' init_templates.php' ) ;
After executing the autoload_func.php file, it has loaded theinit_templates.php file under the init_includes directory.The above to explain how ZenCart is in accordance with the touchversion of the content displayed.
In the twenty-ninth line of index.php, there is a sentence$directory_array = $template->get_template_part
($code_page_directory, ` /^header_php/ ' ) ;
Since all initialization tasks havebeen completed, we can thenfind their definitions in the following files, such as$autoLoadConf ig[100] [] = array ('autoType' =
' classInstant iate' , 'c las sName' = 'template_func' ,
'obj ectName' = ' template' ) ;
Here is the definition of the $template = new (template_func,$code_page_directory) ; and the definition of variables isdefined here must be defined on the template_func class inclass/template_func.php more familiar with theinit_includes/init_sanitize.php file, in this kind of
important definition of the get_template_dir two approach(get_template_part) and () ;
These two approaches play a deterministic role in the use ofzencart templates.
Get_template_dir function get_template_dir ($template_code,$current_template, $current_page, $template_dir,
$debug=false) , which defines 5 parameters, the first parameteris the common name, it is this file used to form two parameterdiscriminationafter directoryhas nomatching$template_code,the transcript of the acquiescence of system functionfile_exists so many beginners can have doubts
Function, get_template_dir ($template_code,
$current_template, $current_page, $template_dir,
$debug=fal se) {
//echo 'template_default/' . $template_dir. '=' .
$template_code;
If ($this->file_exists ($current_template, $current_page,$template_code)) {
Return $current_template. $current_page. \ / \ ";
}elseif ($thi s->file_exists (DIR_WS_TEMPLATES) ,template_default/, $current_page, ereg_replace (` / ' , ' , ' , '$template_code ' ) , $debug)) {
Return DIR_WS_TEMPLATES. ' template_default/' . $current_page;
} elseif ($this->file_exists ($current_template,
$template_dir, $template_code, ereg_replace (` /' , ' , ' , ' , ' , '$debug ' )) {
Return $current_template. $template_dir;
} else {
Return DIR_WS_TEMPLATES. 'template_default/' . $template_dir;//return $current_template. $template_dir;
}
}
*as
Includes/templates/zccn/index
Includes/templates/template_default/index
Includes/templates/zccn/common
Includes/templates/template_defaul t/common
* /
(get_template_part) method has two functions, the firstparameter is the file directory, the second parameter is thematching requirements, implementation is the consequence ofincluding the directory of all the required document file namematching
For example, $directory_array = $template->get_template_part($code_page_directory, '/^header_php/' ) ;
This sentence is to enforce the consequences of all
$code_page_directory directory under the file name toheader_php off the file
The URL (http://localhost/zencart/index.php,main_page=product_info&cPath=49_27&products_id=83) at thistime?
When you should check the definition of init_sanitize.php in$code_page_directory, the value of $code_page_directory atthis time should be includes/modules/product_info/
Therefore, it should be included in the directory to mop up allheader_php files, in here it seems only a header_php.phpdirectory_array美元=模板-> get_template_part美元美元code_page_directory / ^ header_php /” 这个包括文件实际上是初始化前台不同页面显示所需求用到的变量函数重要是初始化数据库的东西 由于每个页面需求的数据材料都有能够不同 因此index.php main_page=指数当main_page的值不同是在包括/模块/目录下都会有个相应的目录这里是指数目录
只需晓得了这两个办法的用法你就会晓得模板文件都是怎样显示出来的了
再来说明一要求$模板->get_template_dir 'html_header。 phpdir_ws_template current_page_base美元普通的。 “/html_header PHP
假定目前网址 HTTP / /本地/执行/的index.php mai n_page =指数与cpath = 48dir_ws_template定义是在包括/ ini t_templates。 PHP中定义定义
'dir_ws_template ' dir_ws_templates。 template_dir美元。
“/” 由于我如今用的是默许的zccn模板
因此如今的dir_ws_template = includes/templates/ zccn /current_page_base在这里已然就是美元指数
面已然说明了模板-> get_template_dir()的办法了美元
程序会顺次在
包括/模板/ zccn /指数
包括/模板/ templ ate_de fau l t /指数
包括/模板/ zccn /普通
包括/模板/ templ ate_de fau l t /普通
这四个目录下找html_header。 PHP在这里最后在
template_default \共同目录下找到html_header.php
到这里就能够本身写摸板文件了美元 由于模板->get_template_dir()是按顺序找的因此你只需在你的模板文件中存在该文件便可
木木云怎么样?木木云品牌成立于18年,此为贵州木木云科技有限公司旗下新运营高端的服务器的平台,目前已上线美国中部大盘鸡,母鸡采用E5-267X系列,硬盘全部组成阵列。目前,木木云美国vps进行了优惠促销,1核1G/500M带宽/1T硬盘/4T流量,仅35元/月。点击进入:木木云官方网站地址木木云优惠码:提供了一个您专用的优惠码: yuntue目前我们有如下产品套餐:DV型 1H 1G 500M带宽...
Fiberia.io是个新站,跟ViridWeb.com同一家公司的,主要提供基于KVM架构的VPS主机,数据中心在荷兰Dronten。商家的主机价格不算贵,比如4GB内存套餐每月2.9美元起,采用SSD硬盘,1Gbps网络端口,提供IPv4+IPv6,支持PayPal付款,有7天退款承诺,感兴趣的可以试一试,年付有优惠但建议月付为宜。下面列出几款主机配置信息。CPU:1core内存:4GB硬盘:...
RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...