2010-03-22 123 views
3

我正在安装一些跟踪代码到checkout_success.php页面。我需要能够从订单中获取优惠券代码/折扣代码名称(如果使用了该代码),以便我可以在我的跟踪脚本中将其回显出来。OSCommerce结帐成功页面跟踪

我想知道是否有人知道如何做到这一点?

我正在使用此优惠券的贡献; 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']; 

谢谢。

+0

赏金期即将结束。如果这些答案都不能解决你的问题,你可以发布一些额外的信息吗? – 2010-03-31 09:56:06

回答

3

相反的:

$couponid = $coupon_id['coupon_id']; 

尝试:

$couponid = $coupon_id['coupons_id']; 
+0

对不起。只是让我的警报说有回应。看起来像简单的拼写错误可能会治愈它。 – doubleplusgood 2010-03-31 13:04:49

+0

@NeilBradley完全没有问题,我绝对不是故意挑衅或任何事情。 – 2010-03-31 13:18:32

0

如果我没记错的话,你可以传递通过页面的优惠券代码,并有机会获得它。如果不是,则进入优惠券输入页面,并在“如果优惠券正常”部分,将其保存在会话变量中。在成功页面上,您只需使用诸如$ _SESSION ['couponcode']之类的东西,但无法使用更多查询。这可能是优惠券输入页面上的2行修改。

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>'; 

我们发现客户立即想看到“收据”,所以我们直接链接回到账户历史。但关键在于,如果您使用加入主订单信息,您可以一次访问订单信息和优惠券代码。