OSCommerce结帐成功页面跟踪

时间:2010-03-22 09:39:42

标签: php oscommerce

我正在checkout_success.php页面中安装一些跟踪代码。我需要能够从订单中获取优惠券代码/折扣代码名称,如果使用的话,我可以在我的跟踪脚本中回显它。

我想知道是否有人知道该怎么做?

我正在使用折扣优惠券的这一贡献; ot_discount_coupons.php,2006年8月4日,作者:Kristen G. Thorson,ot_discount_coupon_codes版本3.0

优惠券代码似乎并未实际存储在order_totals中,而是存储在单独的discount_coupons_to_orders表中。我可以在此表上查询以查找用于此订单的匹配优惠券代码吗?我尝试了以下但没有返回任何内容;

$coupon_query = tep_db_query("select coupons_id from discount_coupons_to_orders where orders_id = '".(int)$orders['orders_id']."' ORDER BY orders_id DESC LIMIT 1"); $coupon_id = tep_db_fetch_array($coupon_query); $couponid = $coupon_id['coupon_id'];

谢谢。

3 个答案:

答案 0 :(得分:3)

而不是:

$couponid = $coupon_id['coupon_id'];

尝试:

$couponid = $coupon_id['coupons_id'];

答案 1 :(得分:1)

我的解决方案可能比您正在寻找的更多,但我的工作效果很好。我在这个php文件的第76行附近查询查询订单信息和优惠券代码。

$orders_query = tep_db_query("select orders.orders_id from " . TABLE_ORDERS . " left join discount_coupons_to_orders dco on orders.orders_id=dco.orders_id where customers_id = '" . (int)$customer_id . "' order by date_purchased desc limit 1");
$orders = tep_db_fetch_array($orders_query);

这样做的目的是让客户获得订单信息。您可以在此处参考优惠券代码,就像我显示折扣已应用一样。

    echo '<br /><br /><span style="color:red"><b>Your order number is #'.$orders['orders_id'].(!empty($orders['coupons_id']) ? ' Discount Code: '.$orders['coupons_id'] : "").' you can now <a href="account_history_info.php?order_id='.$orders['orders_id'].'" style="text-decoration: underline;color:red">view your receipt</a></b>.</span>';

我们发现客户立即希望看到“收据”,因此我们会直接链接回帐户历史记录。但关键在于,如果您使用加入主要订单信息,您可以一次性访问订单信息和优惠券代码。

答案 2 :(得分:0)

如果我没记错的话,你可以通过页面传递优惠券代码,并可以访问它。如果没有,请进入优惠券输入页面,并在“if coupon ok ok”部分中,将其保存在会话变量中。在成功页面上,您只需使用$ _SESSION ['couponcode']之类的内容,不再需要更多查询。这可能是优惠券输入页面上的两行修改。