欢迎来到DESIPO.COM,外贸电子商务整合专家!登录 | 免费注册 ?
会员优惠 | 软件下载 | 客服中心 | 收藏本站 | 购物车[0件]


ZEN CART 目录结构介绍

编辑时间2013年 12月 15日 查看全部评论 写评论
ZEN CART 目录结构介绍ZENCART 目录基本结构介绍

下面给出ZC开发目录作为入门教程。

ZENCART开发主要是根据文件夹覆盖的方式来重写功能的。所以如果需要增加自己的模版,在很多时候只需要在对应的目录下面建立自己的模版目录名称,并且添加对应的文件即可。

\includes\auto_loaders  自动加载头部
\includes\classes 类文件 文件调用中需要包含      ------------ 重要
\includes\extra_configures 附加配置文件 自动加载
\includes\extra_datafiles 附加数据文件
\includes\functions 函数文件      ------------ 重要
\includes\index_filters
\includes\init_includes 初始化包含
\includes\languages 语言包      ------------ 重要
\includes\modules 模块文件     ------------ 重要
\includes\templates 模版文件     ------------ 重要

首先ZC的入口文件是index.php
从这个文件我们可以看到首先是加载
require('includes/application_top.php');
这里会处理一些配置文件和函数,头文件等。
查看此文件(application_top.php)
if (file_exists('includes/configure.php')) {
  /**
   * load the main configure file.
   */
  include('includes/configure.php');
} else {
  require('includes/templates/template_default/templates/tpl_zc_install_suggested_default.php');
  exit;
}
可以首先是看到处理配置文件
if ($za_dir = @dir(DIR_WS_INCLUDES . 'extra_configures')) {
  while ($zv_file = $za_dir->read()) {
    if (preg_match('/\.php$/', $zv_file) > 0) {
      /**
       * load any user/contribution specific configuration files.
       */
      include(DIR_WS_INCLUDES . 'extra_configures/' . $zv_file);
    }
  }
  $za_dir->close();
}
然后是附加配置文件

require('includes/autoload_func.php');
接着是函数库的部分
这些是主要部分,需要跟踪的请自行查看

结束这个文件(application_top.php)

然后是index.php文件里面的
  $language_page_directory = DIR_WS_LANGUAGES . $_SESSION['language'] . '/';
  $directory_array = $template->get_template_part($code_page_directory, '/^header_php/');
  foreach ($directory_array as $value) {
/**
 * We now load header code for a given page.
 * Page code is stored in includes/modules/pages/PAGE_NAME/directory
 * 'header_php.php' files in that directory are loaded now.
 */
    require($code_page_directory . '/' . $value);
  }
部分表明的是接下来加载语言包文件

  require($template->get_template_dir('html_header.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/html_header.php');
再然后就是处理模版部分的HTML头文件了

  require($template->get_template_dir('main_template_vars.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/main_template_vars.php');
接着是也就是模块目录下面的PAGE文件夹,里面的主要模版预处理部分代码。

  $directory_array = $template->get_template_part(DIR_WS_MODULES . 'pages/' . $current_page_base, '/^on_load_/', '.js');
  foreach ($directory_array as $value) {
    $onload_file = DIR_WS_MODULES . 'pages/' . $current_page_base . '/' . $value;
    $read_contents='';
    $lines = @file($onload_file);
    foreach($lines as $line) {
      $read_contents .= $line;
    }
  $za_onload_array[] = $read_contents;
  }

模块目录下面的PAGE文件夹
JS文件部分

  require($template->get_template_dir('tpl_main_page.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/tpl_main_page.php');
加载模版主结构体部分

有了这些应该对ZC的2次开发会有个基础的了解。
用户 DG4 Stars
require($template->get_template_dir(\\\'main_template_vars.php\\\',DIR_WS_TEMPLATE, $current_page_base,\\\'common\\\'). \\\'/main_template_vars.php\\\');
接着是也就是模块目录下面的PAGE文件夹,里面的主要模版预处理部分代码。
这块好像写错了,追中后,有个详细的模块部分判断,才是加载PAGES部分的。
if (file_exists(DIR_WS_MODULES . \\\'pages/\\\' . $current_page_base . \\\'/main_template_vars.php\\\')) {
$body_code = DIR_WS_MODULES . \\\'pages/\\\' . $current_page_base . \\\'/main_template_vars.php\\\';
} else {
$body_code = $templ
管理员 admin谢谢更正-2013年 12月 28日
2013年 12月 28日
Copyright © 2012-2013 迪赛普科技 版权所有

合作邮箱:admin@desipo.com 合作QQ:76052083