Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 4
1

Электронная коммерция для Яндекса в Битрикс

18.11.2016, 14:45. Просмотров 2886. Ответов 1
Метки нет (Все метки)

Добрый день!
Может кто сталкивался, подскажет. Для яндекс вышла электронная коммерция, там надо в шаблоны закинуть скрипты, в принципе, он генерирует их сам. У меня все работают, кроме одного. Покупки, то есть в метрике яндекса не отображается, что человек сделал покупку. Подскажите, пожалуйста, может я не в тот шаблон вставляю этот скрипт.
Вот скрипт

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
        dataLayer.push({
            "ecommerce": {
                "purchase": {
                    "actionField": {
                        "id" : "<?=$arResult['ORDER_ID']?>",
                        "goal_id" : "12087898"
                    },
                    "products": [
                    <?foreach ($arResult["ITEMS"] as $arBasketItems) {?>
                        {
                            "id" : "<?=$arBasketItems["ID"]?>",
                            "name": "<?=$arBasketItems["NAME"]?>",
                            "price": "<?=$arBasketItems["PRICE"]?>",
                            "quantity": "<?=$arBasketItems["QUANTITY"]?>",
                        },
                    <?}?>
                    ]
                }
            }
        });
        </script>

Вставляю вот в такой шаблон (этот шаблон отвечает как раз за вывод id покупки и вывод текста, ваш заказ оформлен)

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
if ($arParams["SET_TITLE"] == "Y")
    $APPLICATION->SetTitle(Bitrix\Main\Localization\Loc::getMessage("SOA_ORDER_COMPLETE"));
 
if (!empty($arResult["ORDER"]))
{
    ?>
    <table class="sale_order_full_table">
        <tr>
            <td>
                <?= GetMessage("SOA_ORDER_SUC", Array("#ORDER_DATE#" => $arResult["ORDER"]["DATE_INSERT"], "#ORDER_ID#" => $arResult["ORDER"]["ACCOUNT_NUMBER"]))?>
                <br /><br />
                <?= GetMessage("SOA_ORDER_SUC1", Array("#LINK#" => $arParams["PATH_TO_PERSONAL"])) ?>
            </td>
        </tr>
    </table>
    <?
    if (!empty($arResult["PAY_SYSTEM"]))
    {
        ?>
        <br /><br />
 
        <table class="sale_order_full_table">
            <tr>
                <td class="ps_logo">
                    <div class="pay_name"><?=GetMessage("SOA_PAY")?></div>
                    <?=CFile::ShowImage($arResult["PAY_SYSTEM"]["LOGOTIP"], 100, 100, "border=0", "", false);?>
                    <div class="paysystem_name"><?= $arResult["PAY_SYSTEM"]["NAME"] ?></div><br>
                </td>
            </tr>
            <?
            if (strlen($arResult["PAY_SYSTEM"]["ACTION_FILE"]) > 0)
            {
                ?>
                <tr>
                    <td>
                        <?
                        $service = \Bitrix\Sale\PaySystem\Manager::getObjectById($arResult["ORDER"]['PAY_SYSTEM_ID']);
 
                        if ($arResult["PAY_SYSTEM"]["NEW_WINDOW"] == "Y" && $arResult["PAY_SYSTEM"]["IS_CASH"] != "Y")
                        {
                            ?>
                            <script language="JavaScript">
                                window.open('<?=$arParams["PATH_TO_PAYMENT"]?>?ORDER_ID=<?=urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))?>&PAYMENT_ID=<?=$arResult['ORDER']["PAYMENT_ID"]?>');
                            </script>
                            <?= GetMessage("SOA_PAY_LINK", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))."&PAYMENT_ID=".$arResult['ORDER']["PAYMENT_ID"]))?>
                            <?
                            if (CSalePdf::isPdfAvailable() && $service->isAffordPdf())
                            {
                                ?><br />
                                <?= GetMessage("SOA_PAY_PDF", Array("#LINK#" => $arParams["PATH_TO_PAYMENT"]."?ORDER_ID=".urlencode(urlencode($arResult["ORDER"]["ACCOUNT_NUMBER"]))."&pdf=1&DOWNLOAD=Y")) ?>
                                <?
                            }
                        }
                        else
                        {
                            if ($arResult["PS_ERROR"] === true)
                                echo '<span style="color:red;">'.GetMessage("SOA_ORDER_PS_ERROR").'</span>';
                            else
                                echo $arResult["PAY_SYSTEM"]["BUFFERED_OUTPUT"];
                        }
                        ?>
                    </td>
                </tr>
                <?
            }
            ?>
        </table>
        <?
    }
    else if ($arResult["PS_ERROR"] === true)
    {
        echo '<span style="color:red;">'.GetMessage("SOA_ORDER_PS_ERROR").'</span>';
    }
}
else
{
    ?>
    <b><?=GetMessage("SOA_ERROR_ORDER")?></b><br /><br />
 
    <table class="sale_order_full_table">
        <tr>
            <td>
                <?=GetMessage("SOA_ERROR_ORDER_LOST", Array("#ORDER_ID#" => $arResult["ACCOUNT_NUMBER"]))?>
                <?=GetMessage("SOA_ERROR_ORDER_LOST1")?>
            </td>
        </tr>
    </table>
    <?
}
?>
В самый конец.
Помогите ,пожалуйста. Уже голову сломал, не знаю, что делать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2016, 14:45
Ответы с готовыми решениями:

VB и коммерция!
Здравствуйте!!! :) Привет всем обитателям форума!!! Изучая VB, у меня появилась идея написания...

Госслужба или коммерция?
Кто работал на гос службе программистом? Какие плюсы и минусы? Предлагают на работу без конкурса....

Электронная кнопка для шуроповерта
Есть у меня шуроповерт или правильнее электрическая отвертка. Используются не часто, и вообщем всем...

Электронная рамка для фотографий
Помогите, надо сделать электронную рамку для фотографий на основе классов в Эмбаркадеро. Рамку в...

1
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 1
06.03.2017, 16:42 2
Ловить события электронной коммерции "в шаблоне" компонента не есть хорошо.

Во-первых не безопасно: просто перебирая ID в адресе страницы "заказ оформлен" можно будет утащить все заказы из магазина. А это все-таки коммерческая информация.
Во-вторых повторное открытие страницы приведет к отправке события-дубля.

Попробуйте вот это решение https://marketplace.1c-bitrix.... ersionpro/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2017, 16:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Электронная книга для пожилого человека
Есть пожилой человек, с техникой обращается на вы, ему нужна электронная книга. Мне поручено было...

Электронная книга для программиста, подскажите
Здравствуйте. Хочу купить электронную книгу, до этого была sony prs t3 , которая 2 раза сломалась...

Электронная канбан-доска для транспортных заказов
Доброго времени суток всем. Задача: Электронная канбан-доска для транспортных заказов. Условие...

Электронная форма для оплаты мобильной свзяи
Задание таково,что нужно сделать форму оплаты!!!!;) Все что я сегодня сделала,это только грубо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.