Автор Тема: Добавить цель метрики на кнопку в корзину  (Прочитано 180 раз)

18 Июль 2018, 13:39:37
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день друзья. Прошу помощи. Есть сайт sa-svet.ru, необходимо добавить цель "Нажатие кнопки в корзину" без продолжения оформления заказа. Очень прошу помочь. Кусок кода кнопки, ниже


<div class="button-container">
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE}
{if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)}
{capture}add=1&amp;id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&amp;ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&amp;token={$static_token}{/if}{/capture}
<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity >= 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}">
<span>{l s='Add to cart'}</span>
</a>
18 Июль 2018, 14:19:32
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 21444
  • Репутация: +25287/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Цитировать
Яндекс.Метрика
Цель «JavaScript-событие»
Такая цель позволяет отслеживать события на сайте (нажатие кнопки, заполнение формы и пр.),
При создании цели указывается ее идентификатор. При достижении цели вызывается метод reachGoal, в который передается указанный идентификатор.
onclick="yaCounterXXXXXX.reachGoal('TARGET_NAME'); return true;"
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
18 Июль 2018, 14:21:43
Ответ #2
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Яндекс.Метрика
Цель «JavaScript-событие»
Такая цель позволяет отслеживать события на сайте (нажатие кнопки, заполнение формы и пр.),
При создании цели указывается ее идентификатор. При достижении цели вызывается метод reachGoal, в который передается указанный идентификатор.
onclick="yaCounterXXXXXX.reachGoal('TARGET_NAME'); return true;"

Спасибо за ответ. но я это знаю. Я прислал кусок кода не просто так. Всю информацию я прочитал уже давно и настраивал на различных cms, но на престе первый раз, поэтому и попросил помощи, так как не могу понять куда вставлять.
18 Июль 2018, 14:38:45
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 21444
  • Репутация: +25287/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Раз делали для других смс, то с prestashop проблем не будет.
Принцип один для всех, в prestashop он не отличается от других.
Событие onclick вещается на кнопку или ссылку, возникает при щелчке левой кнопкой мыши на элементе, к которому добавлен атрибут onclick.
<a onclick="yaCounterXXXXXX.reachGoal ...
<button onclick='yaCounterXXXXXX.reachGoal...
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
18 Июль 2018, 14:41:02
Ответ #4
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Раз делали для других смс, то с prestashop проблем не будет.
Принцип один для всех, в prestashop он не отличается от других.
Событие onclick вещается на кнопку или ссылку, возникает при щелчке левой кнопкой мыши на элементе, к которому добавлен атрибут onclick.
<a onclick="yaCounterXXXXXX.reachGoal ...
<button onclick='yaCounterXXXXXX.reachGoal...

Посмотрите пожалуйста код. В данном случае, что делать?

<div class="button-container">
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE}
{if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)}
{capture}add=1&amp;id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&amp;ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&amp;token={$static_token}{/if}{/capture}
<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity >= 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}">
<span>{l s='Add to cart'}</span>
</a>

18 Июль 2018, 15:20:30
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3331
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В теге <a /> удали ссылку в href и добавь onclick как советывали.
18 Июль 2018, 18:08:56
Ответ #6
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В теге <a /> удали ссылку в href и добавь onclick как советывали.

То есть как я понимаю, все должно быть во так, правильно? И в кабинете метрики в идентификатор цели: add_to_cart ? Так?

<div class="button-container">
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE}
{if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)}
{capture}add=1&amp;id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&amp;ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&amp;token={$static_token}{/if}{/capture}
<a class="button ajax_add_to_cart_button btn btn-default" href="onclick="yaCounterXXXXXXXX.reachGoal('add_to_cart'); return true;" rel="nofollow" title="{l s='Add to cart'}" data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity >= 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}">
<span>{l s='Add to cart'}</span>
</a>

20 Июль 2018, 09:51:23
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3331
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" onclick="yaCounterXXXXXXXX.reachGoal('add_to_cart'); return true;"
20 Июль 2018, 12:36:38
Ответ #8
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" onclick="yaCounterXXXXXXXX.reachGoal('add_to_cart'); return true;"

Огромное спасибо, все отлично получилось.