2

Magento 1.5 では、e コマース トラッキングが多くの Web サイトで機能していないことに気付きました。以下の /core/Mage/GoogleAnalytics/Block/Ga.php コードを確認しました。

protected function _getOrdersTrackingCode()
{
    $orderIds = $this->getOrderIds();
    if (empty($orderIds) || !is_array($orderIds)) {
        return;
    }
    $collection = Mage::getResourceModel('sales/order_collection')
        ->addFieldToFilter('entity_id', array('in' => $orderIds))
    ;
    $result = array();
    foreach ($collection as $order) {
        if ($order->getIsVirtual()) {
            $address = $order->getBillingAddress();
        } else {
            $address = $order->getShippingAddress();
        }
        $result[] = sprintf("_gaq.push(['_addTrans', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']);",
            $order->getIncrementId(), Mage::app()->getStore()->getFrontendName(), $order->getBaseGrandTotal(),
            $order->getBaseTaxAmount(), $order->getBaseShippingAmount(),
            $this->jsQuoteEscape($address->getCity()),
            $this->jsQuoteEscape($address->getRegion()),
            $this->jsQuoteEscape($address->getCountry())
        );
        foreach ($order->getAllVisibleItems() as $item) {
            $result[] = sprintf("_gaq.push(['_addItem', '%s', '%s', '%s', '%s', '%s', '%s']);",
                $order->getIncrementId(),
                $this->jsQuoteEscape($item->getSku()), $this->jsQuoteEscape($item->getName()),
                null, // there is no "category" defined for the order item
                $item->getBasePrice(), $item->getQtyOrdered()
            );
        }
        $result[] = "_gaq.push(['_trackTrans']);";
    }
    return implode("\n", $result);
}

このコードは、成功ページに orderId があるかどうかをテストし、ある場合はトランザクション情報の読み取りに進みます。私が気づいたことは次のとおりです。

  $orderIds = $this->getOrderIds();

何があってもデータを返しません。進め方がわかりません。

4

0 に答える 0