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

Ошибка при оформлении заказа

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

При оформлении способов доставки и оплаты

 появляется эта надпись:

 

Warning: Division by zero in /home/users2/i/ito/domains/ito-shop.ru/system/library/weight.php on line 38Warning: Division by zero in /home/users2/i/ito/domains/ito-shop.ru/system/library/weight.php on line 38

 

Тем не менее оформление возможно сделать.

Что это значит?

Поделиться сообщением


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

Откройте файлы и смотрите операции в этой строке, вероятно какая то переменная не получает значение и получается деление на ноль

Поделиться сообщением


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


<?php

class Weight {

private $weights = array();

public function __construct($registry) {

$this->db = $registry->get('db');

$this->config = $registry->get('config');

$weight_class_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "weight_class wc LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (wc.weight_class_id = wcd.weight_class_id) WHERE wcd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

foreach ($weight_class_query->rows as $result) {

$this->weights[$result['weight_class_id']] = array(

'weight_class_id' => $result['weight_class_id'],

'title' => $result['title'],

'unit' => $result['unit'],

'value' => $result['value']

);

}

}

public function convert($value, $from, $to) {

if ($from == $to) {

return $value;

}

if (isset($this->weights[$from])) {

$from = $this->weights[$from]['value'];

 } else {

$from = 0;

}

if (isset($this->weights[$to])) {

$to = $this->weights[$to]['value'];

} else {

$to = 0;

}

38 return $value * ($to / $from);                                                                                            

}

public function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') {

if (isset($this->weights[$weight_class_id])) {

return number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'];

} else {

return number_format($value, 2, $decimal_point, $thousand_point);

}

}

public function getUnit($weight_class_id) {

if (isset($this->weights[$weight_class_id])) {

return $this->weights[$weight_class_id]['unit'];

} else {

return '';

}

}

}

?>

Поделиться сообщением


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

Извините, что реанимирую старую тему, но столкнулся с проблемой.

Обновил PHP до версии 5.6 b столкнулся с ошибкой:

PHP Fatal error:  Using $this when not in object context in ... [имя файла]

Поискал в коде - вот кусок в котором проблема:

       function int_convert($value, $from, $to) {
                                if ($from == $to) {
                                           return $value;
                                }

                                if (isset($this->lengths[$from])) {
                                        $from = $this->lengths[$from]['value'];
                                } else {
                                        $from = 0;
                                }

                                if (isset($this->lengths[$to])) {
                                        $to = $this->lengths[$to]['value'];
                                } else {
                                        $to = 0;
                                }               
                return $value * ($to / $from);
}

Помогите, пожалуйста, исправить.

Изменено пользователем greendruid

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.