如何在成功页面上获取原始引荐来源网址?

时间:2014-08-13 09:01:49

标签: php magento magento-1.7 php-5.3 magento-1.8

我有一个代码,它只在成功页面的head标签上执行。此代码用于跟踪买方是否来自Comission Junction。

如果原始引荐来自佣金联盟会员链接,我需要将变量设置为true,如下所示:

http://www.jdoqocy.com/click-1245-2342423?SID=TrackingTest

有一种简单的方法吗?

我正在考虑引荐网址,但我想每次从一个页面到另一个页面时,该变量都会发生变化:添加到购物车 - >帐单邮寄地址 - >送货地址 - >付款 - >概述 - >成功

我的代码是

    public function getCommissionJunctionUdo($orderId) {
            $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
            $udo = array();
            $udo['CID'] = 'XXXX';
            $udo['TYPE'] = 'XXXX';
            $udo['CURRENCY'] = 'USD';
            $udo['OID'] = $orderId;
            $udo['DISCOUNT'] = number_format(abs($order->discount_amount),2);

            $order_coupon_code = $order->coupon_code;
            if(!is_null($order_coupon_code) && !empty($order_coupon_code)) {
                $udo['COUPON'] = $order_coupon_code;
            }

            $udo['PRODUCTLIST'] = self::_getOrderProductsList($order);       

            if(referral url come from CJ) 
{
                $udo['FIRECJ'] = "TRUE";
            }
            else {
                $udo['FIRECJ'] = "FALSE";
            }

            $masterTmsUdo['CJ'] = $udo;
            $json_masterTmsUdo = json_encode($masterTmsUdo);

            return $json_masterTmsUdo;

        }

由于

3 个答案:

答案 0 :(得分:2)

您可以观察活动controller_action_predispatch 它是在magento的每一页发送的。
然后,您可以检查$_SERVER['HTTP_REFERER'](或Mage::app()->getRequest()->getServer('HTTP_REFERER'),如果您想成为"政治正确")是否符合您的需求。
如果是,则为会话设置一个值。

Mage::getSingleton('core/session')->setComissionJunctionReferer(true);

然后,在结帐页面中,您只需检查是否设置了值。

if (Mage::getSingleton('core/session')->getComissionJunctionReferer()) {
    //your magic here
}

答案 1 :(得分:0)

如果存在,

$_SERVER['HTTP_REFERER']会为您提供引荐网页的网址。试试吧

答案 2 :(得分:0)

L.V尝试以下

Mage::app()->getRequest()->getServer('HTTP_REFERER');