Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

код отслеживания RetailRocket - проблемы


Recommended Posts

Здравствуйте. RetailRocket требует установки кода отслеживания на страницах сайта.

Одно из требований - передача данных о заказе.

 

Проблема в том, что после установки рекомендованного кода в шаблон (catalog/view/theme/yourtheme/template/common/success.tpl) вместо страницы с номером заказа показывается пустая страница и заказ не формируется.

 

судя по этой теме, инструкция была написана кем-то с нашего форума но я сомневаюсь в ее работоспособности и в рамках своей квалификации не могу понять в чем проблема.

В логах пусто

 

Прошу помоши :)

у меня ocStore 1.5.4.1

 

-----------------------------------------------------------------------------

 

Вот их рекомендации:

 

Код обработчика совершения транзакции

 

На финальной странице оформления заказа (на которой пользователю сообщают о том, что заказ сформирован, благодарят за покупку и так далее) необходимо установить обработчик совершения транзакции.

В самом начале файла catalog/controller/checkout/success.php есть объявление функции index: 
catalog/controller/checkout/success.php
public function index() {
 if (isset($this->session->data['order_id'])) {
  $this->cart->clear();

Вставьте эту часть скрипта таким образом, чтобы он оказался между условием наличия заказа и очищением карты (они выделены на скрипте):

catalog/controller/checkout/success.php
public function index() { if (isset($this->session->data['order_id'])) {
    $this->data['order_id'] = $this->session->data['order_id'];
    $items = $this->cart->getProducts();
    $this->data['last_item'] = end($items);
    $total_price = 0;
    foreach ($items as $item){
        $total_price = $total_price + $item['price'] *
        $item['quantity'] ;
    }
    $this->data['total_price'] = $total_price;
    $this->data['items'] = $items;
    if ($this->customer->isLogged()) {
        $this->data['email'] = $this->customer->getEmail();
        $this->data['firstname'] = $this->customer->getFirstName();
        $this->data['lastname'] = $this->customer->getLastName();
    }else{
        $this->data['email'] = $this->session->data['guest']['email'];
        $this->data['firstname'] = $this->session->data['guest']['firstname'];
        $this->data['lastname'] = $this->session->data['guest']['lastname'];
    }
$this->cart->clear();

Вставьте эту часть скрипта в конец файла catalog/view/theme/yourtheme/template/common/success.tpl:

<script type="text/javascript">
function rrAsyncInit() {
    try{ 
        rrApi.order({
            transaction: <?= $order_id ?>,
            items: [
                <? foreach ($items as $item) { ?>
                    { 
                        id: <?php echo $item['product_id']; ?>, 
                        qnt: <?php echo $item['quantity'];?>,
                        price: <?php echo $item['price']; ?>
                    }
                <? if (!($item == $last_item)) { ?<,>? } ?>
                <? } ?>
            ]
        });
    } catch(e) {}
}
</script>
Надіслати
Поділитися на інших сайтах


У меня с их кодом формировался заказ, но клиенту выводилась ошибка.

Помогла замена строки в success.tpl:

<? if (!($item == $last_item)) { ?<,>? } ?>

 

на 

<? if (!($item == $last_item)) { >?,?< } ?>

Надіслати
Поділитися на інших сайтах


спасибо! Действительно ошибка в синтаксисе php у них.

вот это работает:

  <!-- RetailRocket tracking code begin -->
  <script type="text/javascript">
    function rrAsyncInit() {
      try{ 
          rrApi.order({
            transaction: <?php echo $order_id; ?>,
            items: [
                <?php foreach ($items as $item) { ?>
                    { 
                        id: <?php echo $item['product_id']; ?>, 
                        qnt: <?php echo $item['quantity'];?>,
                        price: <?php echo $item['price']; ?>
                    }
                <?php if (!($item == $last_item)) { ?>,<?php } ?>
                <?php } ?>
            ]
          });
      } catch(e) {}
    }
  </script>
  <!-- RetailRocket tracking code end -->

а сапорту RetailRocket - не зачет.
ни на одно обращение так и не получил ответа 

Надіслати
Поділитися на інших сайтах


я поставила недавно виджет для карточки товара. Можете посмотреть на likanta.ru 

В целом похоже больше, что выводится товар из той же категории, что и в карточке. Еще заметила, что после установки резко увеличилось число проиндексированных страниц яндексом (хоть в чем-то польза).

Надіслати
Поділитися на інших сайтах


Меня смущает, что виджет запускается в iframe. Перелинковки он не добавляет.

Imho нужно разбираться с api

 

я не совсем правильно сказала. Увеличилось число страниц в поиске почти в 2 раза: http://likanta.ru/image/data/stat.jpg

Может и совпадение, но очень странное.

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Меня смущает, что виджет запускается в iframe. Перелинковки он не добавляет.

Imho нужно разбираться с api

 

Подскажите, получилось ли у вас подключиться к ним по API ?

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.