Здравствуйте всем. Я не могу корректно настроить работу Электронной коммерции в Google Analytics для сайта.
Код счетчика на сайт добавил. Сделал по одной статье в интернете. На страницу вставил следующий код для занесения переменных для счетчика:
<?
$arFilter = Array(
“ID” => $arResult["ORDER_ID"],
);
$db_sales = CSaleOrder::GetList(array(“DATE_INSERT” => “ASC”), $arFilter);
while ($ar_sales = $db_sales->Fetch())
{
CModule::IncludeModule(‘sale’);
$arLocs = CSaleLocation::GetByID(getOrderPropValue($arResult["ORDER_ID"], 1));
$city = getOrderPropValue($arResult["ORDER_ID"], 6);
$_REQUEST["ECOMMERSE"] = "_gaq.push(['_addTrans',
'".$ar_sales['ID']."',
'Домосед Дискаунтер',
'".$ar_sales["PRICE"]."',
',
'".$ar_sales["PRICE_DELIVERY"]."',
'".$city."',
'".trim($arLocs["CITY_NAME"] ;) ."',
'".$arLocs["COUNTRY_NAME"]."'
] ;) ;";
$arBasketItems = array();
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"ORDER_ID" => $ar_sales['ID']
),
false,
false,
array("ID", "CALLBACK_FUNC", "MODULE",
"PRODUCT_ID", "QUANTITY", "DELAY",
"CAN_BUY", "PRICE", "WEIGHT" ;)
);
while ($arItems = $dbBasketItems->Fetch())
{
$res2 = CIBlockElement::GetByID($arItems["PRODUCT_ID"] ;) ;
$ar_res2 = $res2->GetNext();
$res3 = CIBlockSection::GetByID($ar_res2["IBLOCK_SECTION_ID"] ;) ;
$ar_res3 = $res3->GetNext();
$_REQUEST["ECOMMERSE"] .= "_gaq.push(['_addItem',
'".$ar_sales['ID']."',
'".$arItems['ID']."',
'".$ar_res2['NAME']."',
'".$ar_res3['NAME']."',
'".$arItems['PRICE']."',
'".$arItems['QUANTITY']."'
] ;) ;";
}
$_REQUEST["ECOMMERSE"] .= "_gaq.push(['_trackTrans'] ;) ;";
}
?>
А в конце страница до тега </body> вывожу счетчик. Вот его код:
<sc ript type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33584935-1'] ;) ;
_gaq.push(['_trackPageview'] ;) ;
<?=$_REQUEST["ECOMMERSE"]?>
(f unction() {
var ga = docu ment.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == docu ment.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = docu ment.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</sc ript>
Но при срабатывании этого кода выдается информация по прошлым по порядку заказам. Причем может даже ваыдать информацию с отмененного заказа. Что я не правильно сделал посоветуйте пожалуйста как выйти из сложившейся ситуации
Код счетчика на сайт добавил. Сделал по одной статье в интернете. На страницу вставил следующий код для занесения переменных для счетчика:
<?
$arFilter = Array(
“ID” => $arResult["ORDER_ID"],
);
$db_sales = CSaleOrder::GetList(array(“DATE_INSERT” => “ASC”), $arFilter);
while ($ar_sales = $db_sales->Fetch())
{
CModule::IncludeModule(‘sale’);
$arLocs = CSaleLocation::GetByID(getOrderPropValue($arResult["ORDER_ID"], 1));
$city = getOrderPropValue($arResult["ORDER_ID"], 6);
$_REQUEST["ECOMMERSE"] = "_gaq.push(['_addTrans',
'".$ar_sales['ID']."',
'Домосед Дискаунтер',
'".$ar_sales["PRICE"]."',
',
'".$ar_sales["PRICE_DELIVERY"]."',
'".$city."',
'".trim($arLocs["CITY_NAME"] ;) ."',
'".$arLocs["COUNTRY_NAME"]."'
] ;) ;";
$arBasketItems = array();
$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"ORDER_ID" => $ar_sales['ID']
),
false,
false,
array("ID", "CALLBACK_FUNC", "MODULE",
"PRODUCT_ID", "QUANTITY", "DELAY",
"CAN_BUY", "PRICE", "WEIGHT" ;)
);
while ($arItems = $dbBasketItems->Fetch())
{
$res2 = CIBlockElement::GetByID($arItems["PRODUCT_ID"] ;) ;
$ar_res2 = $res2->GetNext();
$res3 = CIBlockSection::GetByID($ar_res2["IBLOCK_SECTION_ID"] ;) ;
$ar_res3 = $res3->GetNext();
$_REQUEST["ECOMMERSE"] .= "_gaq.push(['_addItem',
'".$ar_sales['ID']."',
'".$arItems['ID']."',
'".$ar_res2['NAME']."',
'".$ar_res3['NAME']."',
'".$arItems['PRICE']."',
'".$arItems['QUANTITY']."'
] ;) ;";
}
$_REQUEST["ECOMMERSE"] .= "_gaq.push(['_trackTrans'] ;) ;";
}
?>
А в конце страница до тега </body> вывожу счетчик. Вот его код:
<sc ript type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33584935-1'] ;) ;
_gaq.push(['_trackPageview'] ;) ;
<?=$_REQUEST["ECOMMERSE"]?>
(f unction() {
var ga = docu ment.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == docu ment.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = docu ment.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</sc ript>
Но при срабатывании этого кода выдается информация по прошлым по порядку заказам. Причем может даже ваыдать информацию с отмененного заказа. Что я не правильно сделал посоветуйте пожалуйста как выйти из сложившейся ситуации