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()是按顺序找的因此你只需在你的模板文件中存在该文件便可
月付/年付优惠码:zji 下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...
racknerd怎么样?racknerd美国便宜vps又开启促销模式了,机房优秀,有洛杉矶DC-02、纽约、芝加哥机房可选,最低配置4TB月流量套餐16.55美元/年,此外商家之前推出的最便宜的9.49美元/年套餐也补货上架,同时RackNerd美国AMD VPS套餐最低才14.18美元/年,是全网最便宜的AMD VPS套餐!RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新...
hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...