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

Ошибка в shipping.php с Illegal string offset 'tax_class_id' и 'cost'

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

Привет.


Столкнулся с такой ошибкой:

Цитата

Warning: Illegal string offset 'tax_class_id' in /home/g/getsplit/public_html/catalog/model/total/shipping.php on line 12Warning: Illegal string offset 'cost' in /home/g/getsplit/public_html/catalog/model/total/shipping.php on line 13Warning: Illegal string offset 'tax_class_id' in /home/g/getsplit/public_html/catalog/model/total/shipping.php on line 13Warning: Illegal string offset 'cost' in /home/g/getsplit/public_html/catalog/model/total/shipping.php on line 24

 

Код файла Shipping.php

<?php
class ModelTotalShipping extends Model {
	public function getTotal(&$total_data, &$total, &$taxes) {
		if ($this->cart->hasShipping() && isset($this->session->data['shipping_method'])) {
			$total_data[] = array(
				'code'       => 'shipping',
				'title'      => (isset($this->session->data['shipping_method']['title']) ? $this->session->data['shipping_method']['title'] : ''),
				'value'      => (isset($this->session->data['shipping_method']['cost']) ? $this->session->data['shipping_method']['cost'] : '0'),
				'sort_order' => $this->config->get('shipping_sort_order')
			);

			if ($this->session->data['shipping_method']['tax_class_id']) {
				$tax_rates = $this->tax->getRates($this->session->data['shipping_method']['cost'], $this->session->data['shipping_method']['tax_class_id']);

				foreach ($tax_rates as $tax_rate) {
					if (!isset($taxes[$tax_rate['tax_rate_id']])) {
						$taxes[$tax_rate['tax_rate_id']] = $tax_rate['amount'];
					} else {
						$taxes[$tax_rate['tax_rate_id']] += $tax_rate['amount'];
					}
				}
			}

			$total += $this->session->data['shipping_method']['cost'];
		}
	}
}

 

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

После оформления, заказ не появляется в админке, а так же не приходит уведомление клиенту / админу (на почту).

Настройки магазине - не трогал, перед возникновением ошибки. Я так понимаю, что ошибка возникла спонтанно. 

 

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

 

Заранее спасибо.

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

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


Ссылка на сообщение
Поделиться на другие сайты
if (is_array($this->session->data['shipping_method']) && array_key_exists(tax_class_id,$this->session->data['shipping_method']))

 

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


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, kJlukOo сказал:
17 минут назад, kJlukOo сказал:


if (is_array($this->session->data['shipping_method']) && array_key_exists(tax_class_id,$this->session->data['shipping_method']))

 

 

 

Спасибо за ответ.

 

Получается, что это будет заменой 12-ой строчки?

 

Не подскажите, а в чем суть проблемы?

 

Данный файл никто не трогал, ранее все работало (в течении года 490 заказов пришло нормально)

 

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


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

способ доставки отвалился или еще какая-то жуть но ошибка не тут.

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


Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, nikifalex сказал:

способ доставки отвалился или еще какая-то жуть но ошибка не тут.

 

Ссылка на магзин поможет? 

 

Я не понимаю почему вообще могла возникнуть подобная ошибка. Настройки ИМ не трогали вообще.

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


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

у вас же вообще нет способа доставки в корзине.

Подозреваю что у товаров кто-то выставил "требуется доставка" и все сломал.

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


Ссылка на сообщение
Поделиться на другие сайты
Только что, nikifalex сказал:

у вас же вообще нет способа доставки в корзине.

Подозреваю что у товаров кто-то выставил "требуется доставка" и все сломал.

 

В настройках ИМ или в самом товаре выбрал "требуется доставка" ?

 

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


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

В каких таких настройках магазина? Где вы это находите?

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, nikifalex сказал:

В каких таких настройках магазина? Где вы это находите?

 

Открыл последний товар, который был добавлен на сайт. В " Необходима доставка " стоит "да". Поменял на "Нет", попробовал оформить заказ на этот товар, в итоге та ошибка пропала, но появилась эта:

 

Цитата

Notice: Undefined index: order_id in /home/g/getsplit/public_html/catalog/controller/checkout/success.php on line 9Notice: Undefined index: order_id in /home/g/getsplit/public_html/catalog/controller/checkout/success.php on line 59

 

Все равно заказ не появился в списке заказов (в админке). А так же не пришли уведомления на почту. 

 

Появился в списке заказов.

 

Суть в том, что клиент заказывал товар, который был добавлен на сайт более полугода назад. И суть в том, что я во время теста тоже брал старые товары. Заказы не приходили.


 

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, nikifalex сказал:

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

 

Знаете какой нибудь способ, с помощью которого можно получить весь список товаров где значение этого атрибута "да" ?

 

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


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

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

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

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

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

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

Войти

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

Войти

  • Похожий контент

    • От Shiptor
      Скачать/Купить дополнение


      Модуль Shiptor - агрегатор доставки
      В развитие модулей вносятся небольшие изменения:
       
      Последняя актуальная версия модуля для OpenCаrt 1.5 все также доступна на форуме, но перестанет получать обновления и поддержку.
      Модули для OpenCart 2.x-3.0 будут получать поддержку и обновления с новыми функциями и исправлениями как и раньше.
       
      Владельцам OpenCart версии 1.5 рекомендуем рассмотреть возможность миграции на более свежую версию системы.
       
      О модуле "Shiptor - агрегатор доставки" :
       
        Модуль позволяет использовать самую выгодную стоимость доставки и покрыть максимальную географию РФ благодаря выбору среди ведущих логистических компаний через единый договор с Shiptor. Также сервис агрегатора Shiptor предлагает единый забор и доставку день-в-день по Москве, единый забор в регионе и доставку по РФ любыми службами доставки. Фулфилмент и отправку через единый сортировочный центр Shiptor в Москве. Подробную информацию о сервисе агрегатора Вы можете прочитать на сайте Shiptor.ru
       
       
        Ключевые возможности модуля — это расчет стоимости и сроков доставки, предоставление выбора конкретной логистической службы для передачи заказа в пункт выдачи или доставка до двери курьером, а также создание заказа в личном кабинете сервиса Shiptor для дальнейшей обработки, управления и отслеживания заказа.
       
      Службы доставки - партнеры агрегатора Shiptor, доступные через модуль:
       
      Shiptor по Москве и МО
      PickPoint по РФ
      DPD по РФ, Казахстану и Белоруссии
      CDEK по РФ
      Boxberry по РФ
      IML по РФ
      Почта России по РФ
       
       
      Демо-сайт модуля с доступом в админпанель http://opencart.shiptor.ru/2.1_simple_demo_stable/
      Модуль устанавливается и обновляется по ftp. Инструкция по установке находится в архиве с модулем (обратите внимание, что для стандартной версии и с модулем Simple нужны разные файлы ocmod)
       
      Преимущества и совместимость:
        Модуль выполняет основные функции взаимодействия с Личным Кабинетом агрегатора доставки Shiptor. Предоставляет возможность гибкого подхода к реализации принятой в магазине бизнес-схемы продаж.  Распространяется бесплатно.  Сопровождается поддержкой и полной документацией.
       
        При разработке мы ориентировались на стандартное поведение покупателя при оформлении заказа, иными словами модуль настроен на дефолтный шаблон платформы. Однако мы понимаем обоснованные желания пользователя по индивидуализации шаблона и поэтому модуль также имеет поддержку популярного модификатора шаблона «Simple – простое оформление заказа», с помощью которого легко можно скорректировать позитивную модель поведения покупателя при оформлении заказа.
       
        Модуль представлен в пяти разных версиях для каждой версии платформы OpenCart или ее локализаций. Набор возможностей может отличаться в зависимости от версии платформы. Протестирован на Opencart и OcStore версий 1.5, 2.0, 2.1, 2.2, 2.3, 3.0 в дефолтном шаблоне, в т.ч. с модификатором оформления заказа SimpleCheckout, без установки дополнительных модулей и шаблонов.
       
         Код модуля открыт и при желании и наличии технических навыков Вы можете самостоятельно доработать модуль на совместимость с Вашими модификаторами страницы чекаута, сторонними модулями или расширить его возможности. Также мы предоставляем платные услуги наших разработчиков в этом направлении.
       
       
      Демо-сайт http://opencart.shiptor.ru/2.1_simple_demo_stable/
       
      Возможности:
      Автоматический расчет стоимости доставки по России, Казахстану и Белоруссии при работе через склад Shiptor Автоматический расчет стоимости доставки по России при доставке из регионов (только для Opencart 2.0-3.0) Перерасчет стоимости доставки в зависимости от выбранного способа оплаты с учетом всех комиссий. Отображение карты выбора пунктов самовывоза и постаматов. Скрытие отдельных способов доставки или установка для них правила по отдельным регионам. Увеличение отображаемого времени доставки. Выгрузка товарной номенклатуры в Shiptor (только для Opencart 2.0-3.0) Поддержка опций товаров при расчете доставки и добавлении заказа в Shiptor (только для Opencart 2.0-3.0) Поддержка работы со стандартными купонами на скидку (только для Opencart 2.0-3.0) Использование веса из карточек товаров для расчета доставки. Использование габаритов из карточки товара для расчета доставки Демонстрация подсказок при вводе названия населенного пункта и автовыбор региона для удобства использования и точности расчета. Передача заказов вместе с описью номенклатуры товаров и услуг в ЛК. Передача заказов с наложенным платежом в т.ч. с оплатой по карте или без него. Автоматическая и пакетная передача заказов. Возможность использования города "по умолчанию" из модулей Simple и GeoIP. (только для Opencart 2.0-3.0) Отображение трек-номера и внутренних статусов заказа от Shiptor Ассоциация внутренних статусов заказа от Shiptor со статусами заказа OpenCart Отображение трекномера и статусов заказа от курьерской службы Логирование операций обмена данными с Shiptor. Возможность установки правил по каждому способу доставки: Наценка в %; Наценка в ₽; Бесплатная доставка; Фиксированная цена; Фиксированная цена в зависимости от веса; Минимальный и максимальный вес корзины для доставки; Минимальная и максимальная сумма корзины для доставки и другое;  
      Инструкция по настройке модуля
      Добавил Shiptor Добавлено 22.09.2016 Категория Доставки Системные требования Сайт разработчика https://shiptor.ru Старая цена Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Да  
    • От Shiptor
      В развитие модулей вносятся небольшие изменения:
       
      Последняя актуальная версия модуля для OpenCаrt 1.5 все также доступна на форуме, но перестанет получать обновления и поддержку.
      Модули для OpenCart 2.x-3.0 будут получать поддержку и обновления с новыми функциями и исправлениями как и раньше.
       
      Владельцам OpenCart версии 1.5 рекомендуем рассмотреть возможность миграции на более свежую версию системы.
       
      О модуле "Shiptor - агрегатор доставки" :
       
        Модуль позволяет использовать самую выгодную стоимость доставки и покрыть максимальную географию РФ благодаря выбору среди ведущих логистических компаний через единый договор с Shiptor. Также сервис агрегатора Shiptor предлагает единый забор и доставку день-в-день по Москве, единый забор в регионе и доставку по РФ любыми службами доставки. Фулфилмент и отправку через единый сортировочный центр Shiptor в Москве. Подробную информацию о сервисе агрегатора Вы можете прочитать на сайте Shiptor.ru
       
       
        Ключевые возможности модуля — это расчет стоимости и сроков доставки, предоставление выбора конкретной логистической службы для передачи заказа в пункт выдачи или доставка до двери курьером, а также создание заказа в личном кабинете сервиса Shiptor для дальнейшей обработки, управления и отслеживания заказа.
       
      Службы доставки - партнеры агрегатора Shiptor, доступные через модуль:
       
      Shiptor по Москве и МО
      PickPoint по РФ
      DPD по РФ, Казахстану и Белоруссии
      CDEK по РФ
      Boxberry по РФ
      IML по РФ
      Почта России по РФ
       
       
      Демо-сайт модуля с доступом в админпанель http://opencart.shiptor.ru/2.1_simple_demo_stable/
      Модуль устанавливается и обновляется по ftp. Инструкция по установке находится в архиве с модулем (обратите внимание, что для стандартной версии и с модулем Simple нужны разные файлы ocmod)
       
      Преимущества и совместимость:
        Модуль выполняет основные функции взаимодействия с Личным Кабинетом агрегатора доставки Shiptor. Предоставляет возможность гибкого подхода к реализации принятой в магазине бизнес-схемы продаж.  Распространяется бесплатно.  Сопровождается поддержкой и полной документацией.
       
        При разработке мы ориентировались на стандартное поведение покупателя при оформлении заказа, иными словами модуль настроен на дефолтный шаблон платформы. Однако мы понимаем обоснованные желания пользователя по индивидуализации шаблона и поэтому модуль также имеет поддержку популярного модификатора шаблона «Simple – простое оформление заказа», с помощью которого легко можно скорректировать позитивную модель поведения покупателя при оформлении заказа.
       
        Модуль представлен в пяти разных версиях для каждой версии платформы OpenCart или ее локализаций. Набор возможностей может отличаться в зависимости от версии платформы. Протестирован на Opencart и OcStore версий 1.5, 2.0, 2.1, 2.2, 2.3, 3.0 в дефолтном шаблоне, в т.ч. с модификатором оформления заказа SimpleCheckout, без установки дополнительных модулей и шаблонов.
       
         Код модуля открыт и при желании и наличии технических навыков Вы можете самостоятельно доработать модуль на совместимость с Вашими модификаторами страницы чекаута, сторонними модулями или расширить его возможности. Также мы предоставляем платные услуги наших разработчиков в этом направлении.
       
       
      Демо-сайт http://opencart.shiptor.ru/2.1_simple_demo_stable/
       
      Возможности:
      Автоматический расчет стоимости доставки по России, Казахстану и Белоруссии при работе через склад Shiptor Автоматический расчет стоимости доставки по России при доставке из регионов (только для Opencart 2.0-3.0) Перерасчет стоимости доставки в зависимости от выбранного способа оплаты с учетом всех комиссий. Отображение карты выбора пунктов самовывоза и постаматов. Скрытие отдельных способов доставки или установка для них правила по отдельным регионам. Увеличение отображаемого времени доставки. Выгрузка товарной номенклатуры в Shiptor (только для Opencart 2.0-3.0) Поддержка опций товаров при расчете доставки и добавлении заказа в Shiptor (только для Opencart 2.0-3.0) Поддержка работы со стандартными купонами на скидку (только для Opencart 2.0-3.0) Использование веса из карточек товаров для расчета доставки. Использование габаритов из карточки товара для расчета доставки Демонстрация подсказок при вводе названия населенного пункта и автовыбор региона для удобства использования и точности расчета. Передача заказов вместе с описью номенклатуры товаров и услуг в ЛК. Передача заказов с наложенным платежом в т.ч. с оплатой по карте или без него. Автоматическая и пакетная передача заказов. Возможность использования города "по умолчанию" из модулей Simple и GeoIP. (только для Opencart 2.0-3.0) Отображение трек-номера и внутренних статусов заказа от Shiptor Ассоциация внутренних статусов заказа от Shiptor со статусами заказа OpenCart Отображение трекномера и статусов заказа от курьерской службы Логирование операций обмена данными с Shiptor. Возможность установки правил по каждому способу доставки: Наценка в %; Наценка в ₽; Бесплатная доставка; Фиксированная цена; Фиксированная цена в зависимости от веса; Минимальный и максимальный вес корзины для доставки; Минимальная и максимальная сумма корзины для доставки и другое;  
      Инструкция по настройке модуля
    • От Xellouey
      Здравствуйте, форумчане!
      Возникла очень жесткая проблемка, а именно после удаления гавномодуля Complete Seo Package (удалял вручную, через фтп клиент, так как в опенкарт нет автоматического удаления файлов после отключения модуля, что странно) перестало открываться содержимое товара в админке (изменение цены, названия и тп).При заходе выбивает ошибку: Fatal error: Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />Error No: 1242<br />SELECT DISTINCT *, (SELECT keyword FROM oc_url_alias WHERE query = 'product_id=171') AS keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '171' AND pd.language_id = '1'' in /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db/mysqli.php:47 Stack trace: #0 /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db.php(84): DB\MySQLi->query('SELECT DISTINCT...', Array) #1 /home/u542085/mt-beauty.com/html/system/storage/modification/admin/model/catalog/product.php(378): DB->query('SELECT DISTINCT...') #2 [internal function]: ModelCatalogProduct->getProduct('171') #3 /home/u542085/mt-beauty.com/html/system/storage/modification/system/engine/loader.php(184): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /home/u542085/mt-beauty.com/html/system/engin in /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db/mysqli.php on line 47
       
      Самое странное, что когда устанавливаю модуль обратно, всё открывается. Помогите пожалуйста, буду премного благодарен!
    • От DSV
      2 500.00 руб
      Скачать/Купить дополнение


      Grand - адаптивный универсальный шаблон
      Grand – многоцелевой, настраиваемый, легкий в использовании и полностью адаптивный шаблон для работы современного интернет магазина. 
      Подходит для любого типа магазина: одежда, обувь, электроника, спорт, ювелирные изделия и многое другое ...
       
      Демонстрация
      Магазин: http://grand.kreativ.pro/
      Админка: http://grand.kreativ.pro/admin/ , доступ: demo / demo
       
      Совместимость
      Работает с Opencart v3.0, Русская сборка OpenCart v3.0
       
      Настройки:
      "Быстрый Старт" (Quick Start).
      Настройка основных цветов в админке
      Добавление CSS в админке
      Добавление JavaScript в админке
      Модуль "Настройка шаблона"
      Модуль "Баннеры"
      Модуль "Новости" (с добавлением сопутствущих товаров)
      Модуль "Категории на главной", с возможностью выбора категорий, выводятся блоками по одной категории
      Модуль "Заказ в 1 клик" (с учетом в админке)
      Модуль "Вывод текста во всплывающем окне"
      Модуль "Дополнительные вкладки в карточке товара"
      Модуль "Нашли дешевле?"
      Модуль "Заказ обратного звонка" (с учетом в админке)
      Модуль "Подписка на новости"
      Модуль "Просмотренные товары"
      Модуль "Рекомендуемые" (добавляете свои товары и меняете заглавие на свое)
      Модуль "Слайдшоу" (с возможностью добавления своего текста и некоторыми настройками)
      Модуль "Сообщить когда появится"
      Модуль "Текстовые баннеры"
      Модуль "Быстрый просмотр товара"
      Вывод Артикула (SKU) в карточке товара
      Добавление карты на странице "Контакты"
      Пользовательские меню в шапке сайта
      Контактная информация в шапке сайта
      Контактная информация в подвале сайта
      Трехуровневое основное и боковое меню
      Основное меню (свои ссылки, бренды, информация, контакты)
      Стикер товара – Акция
      Иконки социальных сетей в шапке сайта
      Иконки социальных сетей в подвале
      Иконки платежных систем в подвале сайта
      Свои иконки социальных сетей в карточке товара и в новостях
      Zoom эффект изображения в карточке товара
      Возможность отключения кнопки "Купить" и "Заказ в один клик" если товара нет в наличии
      Свои ссылки в подвале сайта
      Слайдер дополнительных изображений в карточке товара
      Всплывающее окно при нажатии кнопки купить
      Авторизация во всплывающем окне
      В настройках шаблона можно добавить логотип в подвале сайта
      Хлебные крошки - убраны ссылки страницы на саму себя
      Вкл/Выкл краткого описания товаров
      Вкл/Выкл прокрутки в модулях (рекомендуемые, акции, бестселлер, новинки, блог)
      Вкл/Выкл картинки категорий в списке товаров
      Вкл/Выкл кнопки в "Закладки", в "Сравнение"
      Вкл/Выкл ссылок в подвале сайта
      Вкл/Выкл микроразметки карточки товара
      Вкл/Выкл поворота картинки при наведении курсора
      Вкл/Выкл Условия соглашения (Контакты, Быстрый заказ, Заказ звонка)
       
      Лицензия:
      Шаблон можно использовать только на одном основном домене (тестовые без ограничений).
       
      Техническая поддержка
      Через личные сообщения на данном форуме.
      Поддержка производится только пользователям, числящимся в списке покупателей шаблона.
      Добавил DSV Добавлено 09.12.2018 Категория Платные шаблоны Системные требования Сайт разработчика dsv@kreativ.pro Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore Несовместим OpenCart.Pro, ocShop  
    • От yurggen80
      У меня одного такая проблема: когда на сайте регистрируется Продавец, то админу на почту приходит уведомление и регистрации нового ... ПОКУПАТЕЛЯ!?
      Потом, нужно активировать этого Покупателя, а потом, его же - как Продавца.
      Короче, геморр какой-то. Программист говорит, что так задано.
      Версия ocStore 2.1.0.2.1
  • Последние посетители   0 пользователей онлайн

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

×

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

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