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

Ошибка модификатора latest.php


Kalwin

Recommended Posts

При добавлении нового товара вылазит ошибка модификатора:

Warning: Division by zero in /var/www/name/data/www/name/system/storage/modification/catalog/controller/extension/module/latest.php on line 62

Которая ведет к этой строчке:

$data['products'][] = array(
'percent'     => sprintf($this->language->get('-%s'), (round((($result['price'] - $result['special'])/$result['price']) * 100 ,0 ))) . ' %', //эта строчка
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $rating,
					'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
				);

Это может быть связано с переводом?

Змінено користувачем Kalwin
Надіслати
Поділитися на інших сайтах


18 минут назад, Kalwin сказал:

Warning: Division by zero

деление на ноль, добавить проверку, что цена должна быть больше 0

 

18 минут назад, Kalwin сказал:

$result['special'])/$result['price']

 

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


25 минут назад, Kalwin сказал:

При добавлении нового товара вылазит ошибка модификатора:


Warning: Division by zero in /var/www/name/data/www/name/system/storage/modification/catalog/controller/extension/module/latest.php on line 62

Которая ведет к этой строчке:


$data['products'][] = array(
'percent'     => sprintf($this->language->get('-%s'), (round((($result['price'] - $result['special'])/$result['price']) * 100 ,0 ))) . ' %', //эта строчка
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $rating,
					'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
				);

Это может быть связано с переводом?

попробуйте эту строчку заменить на это

'percent'     =>  $result['price'] ? (printf($this->language->get('-%s'), (round((($result['price'] - $result['special'])/$result['price']) * 100 ,0 ))) . ' %') : 0 ,

 

 

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

54 минуты назад, Seriusis сказал:

попробуйте эту строчку заменить на это


'percent'     =>  $result['price'] ? (printf($this->language->get('-%s'), (round((($result['price'] - $result['special'])/$result['price']) * 100 ,0 ))) . ' %') : 0 ,

 

 

Поменял, не решило.

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


1 час назад, Kalwin сказал:

Поменял, не решило.

попробуйте так 

 

'percent'     =>  ($result['price'] > 0) ? (printf($this->language->get('-%s'), (round((($result['price'] - $result['special'])/$result['price']) * 100 ,0 ))) . ' %') : 0 ,
Надіслати
Поділитися на інших сайтах

не забудьте, что при обновлении модификаторов все файлы перегенерируются, т.е. нужно править в оригинальном месте, где эта строчка прописана, или в самом модификаторе или в файле latest.php.

Змінено користувачем Seriusis
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

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

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

Important Information

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