在进行开发之前,我们首先需要了解X-Cart系统的结构。
以下是我在PhpStorm上面的截图:
下面是对上面截图的说明:
客户在访问网站的时候所需要浏览的页面(除了一些自定义的静态页面)全部都在站点跟目录下面,如登陆页面login.php,产品页面product.php。
跟目录下面还有一些重要的文件,在开发中要非常的注意:
www.x-cart-plus.com/cleanup.php?auth_code=XXXXXXXXXXXXXXXXXXXXX
由于x-cart使用的时模块开发,很多模块代码都是公用的,所以,更目录下的*.php会加在其他地方的*.php。如,使用x_load()方法加载include/func文件夹下面的代码文件。
admin用户在进入网站,访问的页面都是直接请求的admin目录下面的文件,如admin访问搜索页面请求的是:http://www.x-cart-plus.com/admin/search.php 。
常用文件:
该文件夹用来保存admin在后台管理页面HTML catalog生成的HTML页面。
用来保存上传到站点的文件,当管理员在选择站点中文件(例如图片)进行设置的时候,访问的就是该文件夹下面的文件。
该文件用来保存站点中的各种图片,如产品分类的图片,产品的图片,广告图片等等。
这个文件夹下面的文件非常的重要,相当于是系统的逻辑处理和数据处理层,逻辑处理的文件直接保存在include文件夹下面。详细介绍如下:
include/lib/smarty --smarty模板引擎
include/lib/phpmailer --邮件收发用的
include/xcartmailer.php --smtp发送邮件类
该文件夹用来保存需要加载的模块的控制器代码,如订单管理模块的控制器代码就在目录module/ Advanced_Order_Management下面。
产家提供商设计到页面都保存在该目录下。
与支付相关的控制器文件。
厂家提供商相关的处理文件。
与运费相关的处理文件。
用于保存不同的皮肤,无论是前台还是后的模版页面全都保存在skin文件夹下面。请见详细介绍章节。
用于保存备份的皮肤文件。
用于保存一些*.sql文件。
用于保存系统日志文件,缓存文件,临时文件等。可以清理。
customer文件夹,mail 文件夹,schemes 文件夹,tools 文件夹,upgrade 文件夹,这些不是非常的清楚就不做介绍了。
skin 文件夹保存了系统的所有皮肤,含有系统所有的模版文件,无论是前台页面的还是admin页面的。
在skin文件夹下有一个common_files的文件夹,这个文件夹保存了系统的所有的基础模版,其他的文件夹都是不同的皮肤,是在common_files的基础上的二次开发,也可以说是重写。在这里,我就把common_files文件夹下的文件详细介绍一下:
在Edit ordered products页面,修改订单,点击update,当前页面的数据修改了,但是数据没有保存到数据库,原因就是没有调用func.edit.php中的更新函数func_update_order,调用了即可修复。
Related products 和 Bestsellers都没有计算taxed price, 不能应用自定义的tax在上面。
修改如下:
func.product.php 1387行,
1
2
3
4
5
6
7
8
9
10
11
12 |
if
( $current_area
== ‘C‘
&& empty ( $skip_tables [ ‘product_taxes‘ ]){ //…… } To: if
( $current_area
== ‘C‘
&& ! empty ( $skip_tables [ ‘product_taxes‘ ]){ //…… } |
Edit order totals页面,管理员在修改了订单的payment method, delivery method, discount, coupon, shipping price等之后,点击update当页面刷新的时候会看到修改后的状态,但是这些修改的数据并没有更新到数据库中。
如果有错误,请指出来,共同学习,谢谢。
尊重作者,转载请说明出处。
原文:http://www.cnblogs.com/huangbx/p/3535010.html