Здравствуйте, у меня проблема с одним модулем он мне очень нужен не знаю как найти решение. Поставил данный модуль category-discounts-oc2 на ocStore 2.1.0.2.1 Перевёл его настроил всё впорядке, но дело в том когда добавляешь товар в корзину он выдаёт ошибку и ссылается он-лине 57 следующего файла Код: <?php class ModelTotalCategoryDiscount extends Model { public function getTotal($total) { if ($this->config->get('discounts_status') && $this->cart->hasProducts() && $this->config->get('category_discount_status')) { $this->load->language('total/category_discount'); $this->load->model('catalog/discount'); $discount_total = 0; foreach ($this->cart->getProducts() as $product) { $discount = 0; $category_discount = $this->model_catalog_discount->getCategoryDiscount($product['product_id']); if ($category_discount) { $discount = $product['total'] / 100 * $category_discount['percentage']; if ($product['tax_class_id']) { $tax_rates = $this->tax->getRates($product['total'] - ($product['total'] - $discount), $product['tax_class_id']); foreach ($tax_rates as $tax_rate) { if ($tax_rate['type'] == 'P') { $total['taxes'][$tax_rate['tax_rate_id']] -= $tax_rate['amount']; } } } if (empty($discount_data[strtolower($category_discount['name'])])) { $parts = explode('.', $category_discount['percentage']); $discount_data[strtolower($category_discount['name'])] = array( 'code' => 'category_discount', 'title' => sprintf($this->language->get('text_category_discount'), '-' . (($parts[1]) == '0000' ? $parts[0] : number_format($category_discount['percentage'], 2)). '%', $category_discount['name']), 'value' => -$discount, 'sort_order' => $this->config->get('category_discount_sort_order') ); } else { $discount_data[strtolower($category_discount['name'])]['value'] += -$discount; } $discount_total += $discount; } } if (!empty($discount_data)) { foreach ($discount_data as $key) { $total['totals'][] = array( 'code' => $key['code'], 'title' => $key['title'], 'value' => $key['value'], 'sort_order' => $key['sort_order'] ); } } $total['total'] -= $discount_total; } } } т.е. на эту строку $total['total'] -= $discount_total; если её убрать всё нормально, но в корзине самой скидки нет цена обычная и итог обычный, а надо чтобы подсчитывало скидку. Что-то в этом коде не ладное помогите пожалуйста исправить.
Массив $total передаваемый в модель не содержит переменной "total", от сюда notice. Почему, нужно смотреть код вызова метода. Метод getTotal() еще содержит какой то код? Потому что в данной ситуации он ничего не делает: 1)параметр передан не по ссылке; 2) нет возвращаемого значения; 3) в базу ничего не пишется. Так что вызов этого метода бесполезен в том виде что вы предоставили.
Мой ответ пропорционален полученной информации, что бы быть более точным нужно иметь на руках этот модуль, возможно провести отладку, посмотреть какие ошибки были допущены при модифицировании файлов. Этим нужно заниматься более плотно.
Можете помочь? Можно обсудить за вознаграждение. Модуль был взят от сюда --- Добавлено, 4 фев 2017 --- Всё спасибо проблема решена всё работает.