Jump to content

  • You cannot start a new topic
  • You cannot reply to this topic

Регистрация На Сервисе Retailrocket.ru Rate Topic   - - - - -

 
  • Alecomp
  • Senior Member
  • Trial users
  • Join Date: 13-Jul 12
  • 342 posts

Posted 07 February 2014 - 06:23 AM #1

Озадачился регистрацией на данном сервисе. Для работы нужно установить коды трекинга.
Есть несколько вопросов
Для работы трекинг-кода необходима библиотека jQuery (причем трекинг-код Retail Rocket должен вызываться после кода jQuery)-эта библиотека уже есть в карте?

Первый трекинг код: на всех страницах сайта должен быть установлен трекинг код системы:
<script>
	   var rrPartnerId = "52f473f66636b11de0b95b5f";
	   var rrApi = {};
	   var rrApiOnReady = [];
	   rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
		   rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
	   (function(d) {
		   var ref = d.getElementsByTagName('script')[0];
		   var apiJs, apiJsId = 'rrApi-jssdk';
		   if (d.getElementById(apiJsId)) return;
		   apiJs = d.createElement('script');
		   apiJs.id = apiJsId;
		   apiJs.async = true;
		   apiJs.src = "//cdn.retailrocket.ru/javascript/api.js";
		   ref.parentNode.insertBefore(apiJs, ref);
	   }(document));
</script>
Создаем блок HTML и вставляем на все страницы, так?



2, 3 - Коды обработчика просмотра карточек товаров и Код обработчика просмотра страницы товарной категории

На всех страницах карточек товаров и товаров категории необходимо установить соответственно трекинг коды:
<script type="text/javascript">
function rrAsyncInit() {
  try{ rrApi.view(<product_id>); } catch(e) {}
}
</script>
<script type="text/javascript">
	function rrAsyncInit() {
  try { rrApi.categoryView(<category_id>); } catch(e) {}
}
</script>

Где:

  • <product_id> - ID товара (должно совпадать с ID, передаваемом в YML).
  • <category_id> - числовой ID товарной категории (должен совпадать с атрибутом id тэга <category>, передаваемом в YML-файле)



На сколько я понимаю нужно создать HTML блок и вставить его в шаблон карточек товаров и категорий.
Product id, category_id совпадают с тем, что в YML?

Далее идут 2 кода, настроить которые я не знаю как:

4. Код обработчика добавления товаров в корзину

не установлен

На кнопках, нажатие которых приводит к добавлению товара в корзину, необходимо установить обработчик событий:
onmousedown="try { rrApi.addToBasket(<product_id>) } catch(e) {}"

де:

  • <product_id> - ID товара (должно совпадать с ID, передаваемом в YML).
Пример:
<div class="buy_button " onmousedown="try { rrApi.addToBasket(123) } catch(e) {}"></div>
  • Обратите внимание:
  • Кнопка добавления в корзину может находиться как в карточке товара, так и в листингах, вызов метода addToBasket нужно установить и в этом случае;
  • ID товара, передаваемого в метод addToBasket, должно быть числом и совпадать с ID этого товара в предоставляемом YML-фиде товаров;


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

не установлен

На финальной странице оформления заказа (на которой пользователю сообщают о том, что заказ сформирован, благодарят за покупку и так далее) необходимо установить обработчик совершения транзакции:
<script type="text/javascript">
function rrAsyncInit() {
	try {
		rrApi.order({
			transaction: <transaction_id>,
			items: [
				{ id: <product_id>, qnt: <quantity>,  price: <price>},
				{ id: <product_id>, qnt: <quantity>,  price: <price> }
			]
		});
	} catch(e) {}
}
</script>

Где:

  • <transaction_id> - ID транзакции,
  • <product_id> - ID товара (должно совпадать с ID, передаваемом в YML),
  • <qnt> - количество единиц товара в заказе,
  • <price> - цена за единицу товара.


Помогите настроить.

ввы

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 07 February 2014 - 08:42 AM #2

Лучше вставлять не через HTML блок , а через SMARTY блок , чтобы иметь доступ к переменным $product_id например.
А ещё лучше делать через модуль и хуки.
Как минимум 5 пункт предполагает доступ к $cart .

Смогу по участвовать и сделать такой модуль в рамках форума только после 15 февраля.

 
  • z3r0
  • Junior Member
  • Members
  • Join Date: 14-Apr 09
  • 996 posts

Posted 18 February 2014 - 12:29 AM #3

Лучше вставлять не через HTML блок , а через SMARTY блок , чтобы иметь доступ к переменным $product_id например.
А ещё лучше делать через модуль и хуки.
Как минимум 5 пункт предполагает доступ к $cart .

Смогу по участвовать и сделать такой модуль в рамках форума только после 15 февраля.


Можно ожидать модуль с решением этого вопроса?

Разработка модулей для Cs-Cart и модификации дизайна (Telegram @mikhail_tolstov).


 
  • fevzi
  • Junior Member
  • Members
  • Join Date: 11-Nov 10
  • 258 posts

Posted 20 April 2014 - 08:10 PM #4

Лучше вставлять не через HTML блок , а через SMARTY блок , чтобы иметь доступ к переменным $product_id например.
А ещё лучше делать через модуль и хуки.
Как минимум 5 пункт предполагает доступ к $cart .

Смогу по участвовать и сделать такой модуль в рамках форума только после 15 февраля.


Будет ли отдельный модуль для RR?

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 18 March 2015 - 03:58 PM #5

Настал и мой через спросить :) Скажите как интегрировали эти коды или может уже у кого то есть готовый модуль?

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 07:15 AM #6

Настал и мой через спросить :) Скажите как интегрировали эти коды или может уже у кого то есть готовый модуль?


Давайте актуальный код, если работы не много, то сегодня сделаю для секции "Разработка: Модули" /

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 19 March 2015 - 07:21 AM #7

Прикрепляю инструкцию.

Attached Files



 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 07:23 AM #8

Прикрепляю инструкцию.


C yml файлом сами справитесь?

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 19 March 2015 - 07:26 AM #9

С YML на практике еще не работал, сгенерить то сгенерил, но уже вижу ньюанс в том, что CS-CART отдает файл под авторизацией, а сервис запрашивает его без авторизации. Мои мысли - возможно ли параметры авторизации включить в запрос?

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 07:42 AM #10

С YML на практике еще не работал, сгенерить то сгенерил, но уже вижу ньюанс в том, что CS-CART отдает файл под авторизацией, а сервис запрашивает его без авторизации. Мои мысли - возможно ли параметры авторизации включить в запрос?


Можно закомментировать авторизацию одной строчкой.
app/addons/yandex_market/controllers/frontend/yandex_market.php

$user_data = fn_yandex_auth();


 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 11:09 AM #11

Прикрепляю инструкцию.


Модуль:
https://github.com/d....x/retailrocket

Процесс:


 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 19 March 2015 - 02:34 PM #12

Модуль:
https://github.com/d....x/retailrocket


Попробовал протестировать:
  • Не нашел Код обработчика добавления товаров в корзину
  • На странице "Заказ оформлен" index.php?dispatch=checkout.complete&order_id=NNNN Обработчик "RetailRocket order confirmation" расположен выше основного кода, и событие не срабатывает. Согласно инструкции "Основной трекинг-код системы должен находиться выше всех остальных трекеров на странице."
Остальные события, просмотр товара, категории отслеживаются.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 02:42 PM #13

Попробовал протестировать:

  • Не нашел Код обработчика добавления товаров в корзину
  • На странице "Заказ оформлен" index.php?dispatch=checkout.complete&order_id=NNNN Обработчик "RetailRocket order confirmation" расположен выше основного кода, и событие не срабатывает. Согласно инструкции "Основной трекинг-код системы должен находиться выше всех остальных трекеров на странице."
Остальные события, просмотр товара, категории отслеживаются.


Выносим в тогда в footer.post.php с условием контроллера и мода, под основной код трекера.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 02:47 PM #14

Попробовал протестировать:

  • Не нашел Код обработчика добавления товаров в корзину
  • На странице "Заказ оформлен" index.php?dispatch=checkout.complete&order_id=NNNN Обработчик "RetailRocket order confirmation" расположен выше основного кода, и событие не срабатывает. Согласно инструкции "Основной трекинг-код системы должен находиться выше всех остальных трекеров на странице."
Остальные события, просмотр товара, категории отслеживаются.


Залил изменения в репозиторий.

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 19 March 2015 - 03:04 PM #15

"Трекер совершения транзакции" отработал :)


Осталось отследить нажатия на кнопку добавления в корзину. Попробую сам допилить.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 03:09 PM #16

"Трекер совершения транзакции" отработал :)
Осталось отследить нажатия на кнопку добавления в корзину. Попробую сам допилить.


С нажатием в корзину должно и так работать, там же не просто яваскрипт код, а функция по событию.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 03:10 PM #17

Осталось отследить нажатия на кнопку добавления в корзину. Попробую сам допилить.


Уж сообщите, что получилось, чтобы сохранить изменения.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 19 March 2015 - 03:17 PM #18

"Трекер совершения транзакции" отработал :)


Осталось отследить нажатия на кнопку добавления в корзину. Попробую сам допилить.


Будет смешно, если они закостылили именно на onmousedown и не будут принимать результаты добавления товаров через свою же функцию, но вызываемую другим событием.

 
  • dbazhenov
  • CS-Cart expert
  • Authorized Reseller
  • Join Date: 15-May 12
  • 6447 posts

Posted 20 March 2015 - 11:35 AM #19

Осталось отследить нажатия на кнопку добавления в корзину. Попробую сам допилить.


Получилось? Я же жду, мне же интересно :)

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 824 posts

Posted 20 March 2015 - 12:52 PM #20

:) Вообщем вчера сидел, ковырял, насколько позволил уставший мозг. По аналогии с этой задачей в модуле my_changes добавил в add_to_cart.override.tpl

{elseif $settings.General.allow_anonymous_shopping == "allow_shopping" || $auth.user_id}
{$but_onclick="try { rrApi.addToBasket({$products.product_id}) 
} catch(e) 
{
}"
}

В коде страницы переменная {$products.product_id} не хочет отображать что нужно.
И попутно еще мысль на тему - $but_onclick , насколько криминально использовать вместо onmousedown. На мой взгляд должно отработать.

И таки да, без этих телодвижений "Трекер добавления товаров в корзину" не отрабатывает.