点击“加入购物车”按钮后系统是怎样进入购物车页面的?

用于收藏精华贴子、网友共享的资料等。可以回复,不能发新贴。

版主: daimadaquan

版面规则
本版面不能发新贴,可以回复

点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子hicahica » 2009-04-24 12:26

通过这些天在坛子里学习各位的帖子(特别是Jack radnows和浩霖的帖子帮助很大 :D 感谢!),对Zencart有了一些了解。对各文件之间的调用关系也开始有了些模糊的认识(我用的是英文zencart),例如:
index.php每次都通过main_tempate_vars.php根据$_GET['main_page']等的值来调用pages文件夹或者模板文件夹里的相应php文件从而进入到产品、购物车……等页面。
------举例:-------
index.php?main_page=index
会调用文件 includes/modules/pages/index/main_template_vars.php

index.php?main_page=product_info
会调用文件 includes/modules/pages/product_info/main_template_vars.php
然后再由该文件自动加载 includes/templates/[your template]/templates/tpl_product_info_display.php

index.php?main_page=shopping_cart
会调用文件 includes/templates/[your template]/templates/tpl_shopping_cart_default.php
---------------------
不过对于从点击“加入购物车”按钮之后到进入includes/templates/[your template]/templates/tpl_shopping_cart_default.php文件的过程不是很明白,还恳请各位老大赐教!

具体的问题是这样的:
点击“加入购物车”按钮后会提交index.php?main_page=product_info&products_id=1&action=add_product
这时系统应该还是调用加载includes/modules/pages/product_info/main_template_vars.php这个文件吧?可是不明白是怎么又自动调用index.php?main_page=shopping_cart的?具体是哪个文件的哪行代码实现这个自动调用的呢?我在includes/modules/pages/product_info/main_template_vars.php这个文件好像找不到这行代码。

黑暗摸索中,望高手们给照个亮 :idea:
hicahica
中级会员
中级会员
 
帖子: 86
注册: 2009-03-27 20:14

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子shaning » 2009-04-24 12:41

由includes/main_cart_actions.php处理action动作 再到 shopping_cart类中处理 并跳转
头像
shaning
论坛版主
论坛版主
 
帖子: 1352
注册: 2005-10-29 17:22
地址: http://www.x-zencart.com paypal跳转 zencart定制深度修改等
QQ 帐号: 1 9 2 3 6 1 1 3

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子hicahica » 2009-04-24 12:50

回复真快!赞一个!感谢shaning版主 :idea:
好好研究研究……
hicahica
中级会员
中级会员
 
帖子: 86
注册: 2009-03-27 20:14

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子浩霖 » 2009-04-24 13:30

application_top.php建议多跟踪下,
还有里面的这句require('includes/autoload_func.php');,进入这个页面,会做很多初始化工作,当你找不到在哪里初始化或定义时,应该在application_top.php里或子包含的文件里就做了处理
浩霖
高级会员
高级会员
 
帖子: 220
注册: 2009-03-19 10:43

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子hicahica » 2009-04-24 13:37

谢谢浩霖的建议 :) 看来学zencart就象玩星际争霸,黑暗中探路,路还不止一条,遇到一个文件就把它解构消灭,然后继续前行……希望能早日搞到地图 ;)
hicahica
中级会员
中级会员
 
帖子: 86
注册: 2009-03-27 20:14

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子浩霖 » 2009-04-24 13:48

hicahica 写道:谢谢浩霖的建议 :) 看来学zencart就象玩星际争霸,黑暗中探路,路还不止一条,遇到一个文件就把它解构消灭,然后继续前行……希望能早日搞到地图 ;)

确实,我现在也在探索阶段,呵呵.不过还好,找不到路debug下就出来了
浩霖
高级会员
高级会员
 
帖子: 220
注册: 2009-03-19 10:43

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子hicahica » 2009-04-24 19:01

在shaning和浩霖两位zen星际高手的指引下,现已探路完毕 :D ,地图如下:

index.php加载了includes/application_top.php[文件1](如浩霖所言)

[文件1]先加载includes/initsystem.php[文件2]
   [文件2]加载includes/auto_loaders/config.core.php[文件3]
   在[文件3]里定义了$autoLoadConfig[140][] = array('autoType'=>'init_script',
                     'loadFile'=> 'init_cart_handler.php');

[文件1]再加载includes/autoload_func.php[文件4](正如浩霖所言)

[文件4]根据[文件3]里已定义的'loadFile',加载includes/init_includes/init_cart_handler.php[文件5]

[文件5]加载includes/main_cart_actions.php[文件6](如shaning所言)
在[文件6]里处理“action=add_product”的相关代码:
case 'add_product' :
$_SESSION['cart']->actionAddProduct($goto, $parameters);

其中 function actionAddProduct()定义于includes/classes/shopping_cart.php里面,经该函数处理,跳转至“index.php?main_page=shopping_cart”,最终进入页面“includes/templates/[your template]/templates/tpl_shopping_cart_default.php”

呵呵,通关 :mrgreen:
hicahica
中级会员
中级会员
 
帖子: 86
注册: 2009-03-27 20:14

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子浩霖 » 2009-04-25 11:17

呵呵,楼主星际思维也不错啊
浩霖
高级会员
高级会员
 
帖子: 220
注册: 2009-03-19 10:43

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子hicahica » 2009-04-25 16:46

浩霖 写道:呵呵,楼主星际思维也不错啊

:) 其实偶更喜欢传统的红警
盼望着什么时候星际和红警也能象zancart一样开源 :evil:
到时候人人都能象现在运营一个网上商店一样运营一个属于自己的网络游戏……到那时世界就进入web3.0了 :mrgreen:
hicahica
中级会员
中级会员
 
帖子: 86
注册: 2009-03-27 20:14

Re: 点击“加入购物车”按钮后系统是怎样进入购物车页面的?

帖子lzwdavid » 2009-05-11 12:47

人人都能象现在运营一个网上商店一样运营一个属于自己的网络游戏-------那么就没人玩游戏了。
头像
lzwdavid
新手上路
新手上路
 
帖子: 13
注册: 2009-03-11 10:27

下一页

回到 精华共享

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客