登录 注册

登录

问题 virtuemart中保存订单是在什么地方完成的

更多
2010年01月25日 10:36 #1 作者: find
在使用virtuemart中,将商品加入购物车后,只有用户结算成功,订单记录才会保存到表jos_vm_orders中,我现在需要在订单保存的同时记录一些信息到另一张表里,比如本次订单的订单号等信息。所以需要找到订单保存到表jos_vm_orders时的代码,找了很久都没找到,不知哪位朋友可以帮忙解决,先谢!

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年01月25日 16:13 #2 作者: doing.toing
若你安装VM网站的根目录为XXXX,则在XXXX/administrator/components/com_virtuemart/classes/ps_checkout.php 的line871 可找到如下code:

/**
* This is the main function which stores the order information in the database
*
* @author gday, soeren, many others!
* @param array $d The REQUEST/$vars array
* @return boolean
*/
function add( &$d ) {

此处即添加订单的地方。
在line993:
// Insert the main order information
$db->buildQuery( 'INSERT', '#__{vm}_orders', $fields );
$result = $db->query();

$d["order_id"] = $order_id = $db->last_insert_id();

以插入的最后一条记录id为当前要添加的order的id。



希望楼上能用的着。

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年01月26日 17:16 #3 作者: find
这个问题 当天南荒前辈就帮忙解决了 忘了来结贴, 当时一味的在前台找,没想到操作数据库的语句在后台。任然感谢doing.toing 的帮助。

登录 或者   注册一个会员帐号 来参与讨论

更多
2010年01月26日 19:04 #4 作者: doing.toing

登录 或者   注册一个会员帐号 来参与讨论