网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > X-Cart
User Name
Password
 
FAQ Members List Calendar Cheap Glasses

Reply
 
Thread Tools Display Modes
  #1   IP: 114.238.108.166
Old 2015-05-28, 10:35 PM
Hackettstown Hackettstown is offline
初级会员
 
Join Date: 2005-02-27
Posts: 3
Hackettstown 现在声名狼藉
Default X-Cart 学习笔记(三)X-Cart框架2

3、了解X-Cart 站点目录结构

在进行开发之前,我们首先需要了解X-Cart系统的结构。

以下是我在PhpStorm上面的截图:





下面是对上面截图的说明:

根目录

客户在访问网站的时候所需要浏览的页面(除了一些自定义的静态页面)全部都在站点跟目录下面,如登陆页面login.php,产品页面product.php。

跟目录下面还有一些重要的文件,在开发中要非常的注意:
•prepare.php 为适应不同服务器与数据库版本作准备、重改一些函数;
•init.php 初始化文件(加载必要函数、设定内存限制、数据表字段构建等);
•config.php 配置文件,包括站点的auto code, security key等信息的验证等,该文件非常重要,不能轻易手动更改,否则会照成整个站点打不开的情况。
•auth.php 用户认证
•cleanup.php 用于清理站点缓存。请求的时候需要加上Auth code, 如:

www.x-cart-plus.com/cleanup.php?auth_code=XXXXXXXXXXXXXXXXXXXXX
•top.inc.php定义核心常量与变量。

由于x-cart使用的时模块开发,很多模块代码都是公用的,所以,更目录下的*.php会加在其他地方的*.php。如,使用x_load()方法加载include/func文件夹下面的代码文件。

admin文件夹

admin用户在进入网站,访问的页面都是直接请求的admin目录下面的文件,如admin访问搜索页面请求的是:http://www.x-cart-plus.com/admin/search.php 。

常用文件:
•admin/home.php 起始文件
•admin/auth.php 用户认证文件(主要是利用session保存用户登录信息到数据库)
•admin/home.tpl 包含菜单 折扣 位置 认证等模板(main/authentication.tpl)、
•admin/main.php 仪表板接口 (xcart运行状况)
•admin/configuration.php 大体设置与模块配置

catalog 文件夹

该文件夹用来保存admin在后台管理页面HTML catalog生成的HTML页面。

files 文件夹

用来保存上传到站点的文件,当管理员在选择站点中文件(例如图片)进行设置的时候,访问的就是该文件夹下面的文件。

images 文件夹

该文件用来保存站点中的各种图片,如产品分类的图片,产品的图片,广告图片等等。

include 文件夹

这个文件夹下面的文件非常的重要,相当于是系统的逻辑处理和数据处理层,逻辑处理的文件直接保存在include文件夹下面。详细介绍如下:
1.include/classes:用来保存系统用到的几个大的类,如数据存储的类class.DataStorage.php;
2.include/func:数据处理层的文件;
3.include/lib:用于保存一些程序库,如:

include/lib/smarty --smarty模板引擎

include/lib/phpmailer --邮件收发用的
1.include/payment:与支付相关的处理文件;
2.include/templater:smarty继承与插件扩展。
3.include目录下文件:逻辑处理的相关文件,如:

include/xcartmailer.php --smtp发送邮件类

module 文件夹

该文件夹用来保存需要加载的模块的控制器代码,如订单管理模块的控制器代码就在目录module/ Advanced_Order_Management下面。

partner 文件夹

产家提供商设计到页面都保存在该目录下。

payment 文件夹

与支付相关的控制器文件。

provider 文件夹

厂家提供商相关的处理文件。

shipping 文件夹

与运费相关的处理文件。

skin 文件夹

用于保存不同的皮肤,无论是前台还是后的模版页面全都保存在skin文件夹下面。请见详细介绍章节。

skin_backup 文件夹

用于保存备份的皮肤文件。

sql 文件夹

用于保存一些*.sql文件。

var 文件夹

用于保存系统日志文件,缓存文件,临时文件等。可以清理。

其他文件夹

customer文件夹,mail 文件夹,schemes 文件夹,tools 文件夹,upgrade 文件夹,这些不是非常的清楚就不做介绍了。

4、skin文件夹

skin 文件夹保存了系统的所有皮肤,含有系统所有的模版文件,无论是前台页面的还是admin页面的。

在skin文件夹下有一个common_files的文件夹,这个文件夹保存了系统的所有的基础模版,其他的文件夹都是不同的皮肤,是在common_files的基础上的二次开发,也可以说是重写。在这里,我就把common_files文件夹下的文件详细介绍一下:
•common_files目录下文件:改目录下的模版文件基本都是所有页面公共的模版,如bottom.tpl, dialog.tpl;
•404:很显然,该文件夹用于存储错误提示页面;
•common_files/admin:admin管理页面的模版;
•common_files/buttons:网站一些按钮的模版;
•common_files/css:网站所有的模版样式文件;
•common_files/customer:前台页面的模版;
•common_files/help:帮助模块的模版;
•common_files/images:模版用到的一些图片;
•common_files/js:模版用到的js文件;
•common_files/lib:模版用到的一些js类库,如jquery;
•common_files/mail:系统发送各种邮件时,各模块所用的模版;
•common_files/main:admin管理页面的一些模版;
•common_files/modules:前台页面的模块模版,如客户评价模版Customer_Reviews
•common_files/pages:admin创建的静态页面;
•common_files/partner:与合作伙伴相关页面的模版;
•common_files/payment:支付模块的模版;
•common_files/provider:厂商供应商模版;
•common_files/fulfilment与common_files/single:包含home.tpl与menu_box.tpl。

5、自带bug

更新order问题

在Edit ordered products页面,修改订单,点击update,当前页面的数据修改了,但是数据没有保存到数据库,原因就是没有调用func.edit.php中的更新函数func_update_order,调用了即可修复。

Taxed price问题

Related products 和 Bestsellers都没有计算taxed price, 不能应用自定义的tax在上面。

修改如下:

func.product.php 1387行,

Code:
if ($current_area == 'C' && empty($skip_tables['product_taxes']){

    //……

}

To:

 if ($current_area == 'C' && !empty($skip_tables['product_taxes']){

    //……

}
  

Edit order total问题

Edit order totals页面,管理员在修改了订单的payment method, delivery method, discount, coupon, shipping price等之后,点击update当页面刷新的时候会看到修改后的状态,但是这些修改的数据并没有更新到数据库中。
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to Modify Zen Cart to Use External Images 上海公司注册 ZenCart 0 2012-06-21 11:56 AM
有关Zen Cart的一些常用操作 yahoo ZenCart 0 2009-12-01 09:36 PM
How to Install an Zen Cart Template topvip ZenCart 0 2009-08-23 05:35 PM
X-Cart Multiple Input Validation Holes Permit SQL Injection and Cross-Site Scripting topvip X-Cart 0 2009-07-21 10:03 AM
x-cart Template Editing Guide for 4.1.x topvip X-Cart 0 2009-04-15 11:42 PM

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 01:55 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.