Не Могу Повесить Onclick Событие На Кнопку Обратного Звонка!

Понадобилось прописать для кнопки "Заказать обратный звонок" onclick событие для яндекс метрики.

зашел в темплейт обратного звонка, добавляю туда, событие:

onclick="yaCounter34650009.reachGoal('Callback'); return true;"

очищаю кэш, далее обновляю страницу ctrl+f5, данное событие не появляется в коде.

что я делаю не так?

onclick.png
----------------------------------------------------------------------------------------------------------------------------------------
click2.png

Попробуйте использовать

....but_onclick="yaCounter34650009.reachGoal('Callback'); return true;"....

Попробуйте использовать

....but_onclick="yaCounter34650009.reachGoal('Callback'); return true;"....

Спасибо!

А чтобы повесить событие на кнопку “Купить в 1 клик”, которая отображается в карточке товара под кнопкой “Купить”, что нужно прописать?

Нашел файл шаблона templates/addons/call_requests/hooks/products/add_to_cart.post.tpl - вроде он эту кнопку формирует. Там код такой:

{if !$hide_form && $addons.call_requests.buy_now_with_one_click == “Y” && ($auth.user_id || $settings.General.allow_anonymous_shopping == “allow_shopping”)}
{include file=“common/popupbox.tpl”
href=“call_requests.request?product_id={$product.product_id}&obj_prefix={$obj_prefix}”
link_text=(“call_requests.buy_now_with_one_click”)
text=
(“call_requests.buy_now_with_one_click”)
id=“call_request_{$obj_prefix}{$product.product_id}”
link_meta=“ty-btn ty-btn__text ty-cr-product-button”
content=""
}
{/if}

по добавлению кода onclick="…" или but_onclick="…" никаких изменений не происходит. Кэш чистил, обновлял ктрл+ф5. Повесить события на кнопки “купить” и “оформить” в попапе обратного звонка - получилось, а вызов самой формы не получается.

Цель для открытия окна или отправления формы?

1 лайк

Цель для открытия окна или отправления формы?

Хочу повесить событие на вызов формы обратного звонка, чтобы понимать, сколько человек вызвало форму, сколько “потерялось”, и сколько отправило ее.

У меня форму можно вызвать 2мя способами: через кнопку “купить в 1 клик” и через ссылку “перезвоните мне” в хедере.

Вот тот код что я выше приводил, он обращается к файлу popupbox.tpl, в этот файле есть такой код:

{if $edit_onclick}onclick="{$edit_onclick}"{/if}

Работа с файлом самого модуля add.to.cart.post.tpl ни к каким результатм не привел. На данный момент проблему решил так:

  1. создал файл popupbox1.tpl где указанный выше код заменил на код того события, что мне надо,
  2. в файле templates/addons/call_requests/hooks/products/add_to_cart.post.tpl заменил {include file=“common/popupbox.tpl” на {include file=“common/popupbox1.tpl”

Для хедера, где “перезвоните мне”, пришлось тоже создать отдельный файл commons/popupbox2.tpl с нужным кодом события, и еще пробежаться по цепочке в папке app/addons, где там разные файлы ссылаются друг на друга и замкнуть все на этот файл popupbox2.tpl, сейчас оба нужных мне события в коде есть.

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

Вы писали, что передавали параметры onclick и but_onclick, а файл ожидает edit_onclick

1 лайк

Вы писали, что передавали параметры onclick и but_onclick, а файл ожидает edit_onclick

Я просто не все писал. Пытался и edit_onclick, и link_onclick, и даже edit_but_onclick, но не помогло. И сейчас вернул обращение к стандартному файлу и прописал edit_onclick, событие пропало. Вернул свою костыльную схему - появилось.

Нужно на месте смотреть, почему так

Нужно на месте смотреть, почему так

Апдейт. Помогла вставка edit_onclick сразу под

{include file=“common/popupbox.tpl”
href=“…"

и код появился. А когда вставлял ниже - не было.

Спасибо за помощь

1 лайк