页面功能代码
所有页面都有特定的功能,通常编码人员都是针对页面开展针对性的工作,如登录页面需要处理响应用户表单的提交及验证是否通过、以及检查输入是否合法等,产品页面需要显示产品基础信息如标题、价格、描述等等内容。
zencart的页面功能代码集中放置在includes/modules/page/中,每个功能页面再在其下建立相应文件夹,功能代码文件文件名必须以header_php开头,即必须为header_php*.php格式。
页面功能代码文件由index.php文件自动根据当前页面调用。
代码:index.php自动加载页面功能代码文件
$directory_array = $template->get_template_part($code_page_directory, '/^header_php/');
foreach ($directory_array as $value) {
require($code_page_directory . '/' . $value);
}
代码中的$code_page_directory为全局变量,保存当前页面功能代码的文件夹路径,其值应为 includes/modules/pages/<page>/
。通常上面的代码我们可以看到,只要是以header_php开头,以php为后缀的文件都会被自动加载(模板类的get_template_part方法默认后缀名为php)。
Page Not Found 页面未找到
zencart会自动检查请求当前页面是否拥有功能目录,功能目录默认为
includes/modules/pages/<page>
文件夹,如果此目录不存在,则被认定为Page Not Found。当出现Page Not Found情况,会根据zencart后台设置出现两种情况。
- 当常量MISSING_PAGE_CHECK = On / True,系统会自动转向网站首页。
- 否则将显示PageNotFound功能页面。
Page Not Found判断逻辑代码在includes/init_includes/init_sanitize.php初始脚本里。