Перейти к содержанию

яндекс метрика портит корзину - undefined index product_id


Рекомендуемые сообщения

OP3 

 

Модуль Яндекс метрика (взят с их сайта) выдает такую ошибку в момент удаления некоторых товаров из корзины при быстром заказе, и может удалить половину корзины, что он делает не так? Я конечно, отпишу в поддержку яши, но вдруг кто-то наметанным глазом найдет, где собака зарыта.

 

image.png.bb9ec36e6a2d61e0cae9980f1c3986f7.png

 

в product.php это класс

 

Спойлер

           public function getProductDataForYandexMetrica() {
              $this->load->model('catalog/category');
              $this->load->model('catalog/product');

              if (isset($this->request->post['event'])) {
                $event = $this->request->post['event'];
              } else {
                $event = 'add';
              }

              if (isset($this->request->post['id_type']) && $this->request->post['id_type'] == 'key') {
                $this->load->model('extension/module/yandex_metrica');
                $product_data_from_cart = $this->model_extension_module_yandex_metrica->getProductFromCart($this->request->post['id']);
  1916->              $product_id = $product_data_from_cart['product_id'];
              } elseif (isset($this->request->post['id'])) {
                $product_id = (int)$this->request->post['id'];
              } else {
                $product_id = 0;
              }

              if (isset($this->request->post['quantity']) && $this->request->post['quantity'] === 'null' && $this->request->post['id_type'] === 'key') {
  1924->              $quantity = $product_data_from_cart['quantity'];
              } elseif (isset($this->request->post['quantity']) && $this->request->post['quantity'] === 'null' && $this->request->post['id_type'] === 'product_id' && $event === 'add') {
                $quantity = 1;
              } else {
                $quantity = (int)$this->request->post['quantity'];
              }

              if ($product_id === 0) {
                $this->load->model('setting/setting');
                $log_status = $this->model_setting_setting->getSettingValue('analytics_yandex_metrica_log');
                if ($log_status) {
                  $log_ym = new Log('log_yandex_metrica.log');
                  $log_ym->write('Required parameters not found (ID)', true);
                }
              }
 

 

Ссылка на комментарий
Поделиться на другие сайты

Происходит все из-за того, что

$product_data_from_cart = $this->model_extension_module_yandex_metrica->getProductFromCart($this->request->post['id']);

возвращает пустой массив.

В метрику при такой работе будут неверные данные отправляться. Что там именно не так, я не скажу.
Чтобы корзину починить, можете отключить в настройках магазина (вкладка Сервер) показ ошибок. Это позволить избавиться от ошибки "SyntaxError...."

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...