Jump to content
Sign in to follow this  
q000000000b

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

Recommended Posts

Привет.


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

Цитата

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. Возникает после попытка оформления заказа через корзину сайта.

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

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

 

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

 

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

Edited by q000000000b

Share this post


Link to post
Share on other sites
if (is_array($this->session->data['shipping_method']) && array_key_exists(tax_class_id,$this->session->data['shipping_method']))

 

Share this post


Link to post
Share on other sites
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 заказов пришло нормально)

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
21 минуту назад, nikifalex сказал:

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Только что, nikifalex сказал:

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

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

 

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

 

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

 

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

 

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


 

Edited by q000000000b

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 минуты назад, nikifalex сказал:

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

 

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

 

Share this post


Link to post
Share on other sites

phpmysqladmin

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By valerykurak
      Здравствуйте, можно ли для каждого пользователя в админ панели задать свое seo url, чтобы туда подгружать детальную информацию?
    • By Leingard
      450.00 руб
      Скачать/Купить дополнение


      CrashReport - отчет о проблемах сайта
      Модуль для обнаружения и последующего решения ошибок и проблем Ваших покупателей. Используя модуль, Вы сможете найти проблемные места Вашего сайта с которыми сталкиваются покупатели. Ошибка 404 - теперь не загадка. Вы будете знать где, когда и как покупатель вышел на отсутствующую страницу или подозрительный запрос.
       
      Обнаружение битых ссылок в поисковой системе на Ваш сайт, так же можно обнаружить при помощи модуля.  
       
      DEMO: OC 3: http://oc30.gameshara.ru/
      DEMO: OC 2.3: http://gameshara.ru/module/
      DEMO: OC 2.1: http://gameshara.ru/ocstore21/
      Админ часть: Admin (Логин и пароль: demo)
       
      Возможности модуля:
      Посещение покупателями страниц с ошибокой 404 Вашего магазина. Откуда перешел и когда. Битые товары которые до сих пор отображаются в поисковой системе или на сайте. При заходе на такие, Вы увидите отчёт. Ошибки категорий или старые категории которые нужно убрать (а посетитель их видит). При посещение таких покупателями, Вы увидите. Старые или отсутствующие производители по которым прошелся пользователь. Отображение IP адресов Подозрительные запросы так же будут отображены в отчёте.  
      Инструкция в архиве.
       
      Лицензия:
      Модуль продается с лицензией на сайт. Одна покупка = Один домен Покупая копию модуля вы получаете право на использование. Распространения модуль платно или бесплатно нарушает лицензию и грозит обнулением покупки, а так же уголовной ответственность предусмотренной статей 146 УК РФ (Нарушение авторских и смежных прав)  Автор оставляет за собой право изменят условия предоставления лицензии, изменения цены и стоков продления лицензии. Все доработки, переработки и изменения функционала не входят в стоимость модуля и оплачиваются отдельно по письменной договоренности с автором.  
      Тип распространения:
      Как есть Добавил Leingard Добавлено 15.04.2019 Категория Отчеты Системные требования PHP 5.6+ Метод активации По запросу в ЛС
      По запросу на почту Ioncube Loader Нет OpenCart 3.0
      2.3
      2.1 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Да Старая цена 500  
    • By Leingard
      Модуль для обнаружения и последующего решения ошибок и проблем Ваших покупателей. Используя модуль, Вы сможете найти проблемные места Вашего сайта с которыми сталкиваются покупатели. Ошибка 404 - теперь не загадка. Вы будете знать где, когда и как покупатель вышел на отсутствующую страницу или подозрительный запрос.
       
      Обнаружение битых ссылок в поисковой системе на Ваш сайт, так же можно обнаружить при помощи модуля.  
       
      DEMO: OC 3: http://oc30.gameshara.ru/
      DEMO: OC 2.3: http://gameshara.ru/module/
      DEMO: OC 2.1: http://gameshara.ru/ocstore21/
      Админ часть: Admin (Логин и пароль: demo)
       
      Возможности модуля:
      Посещение покупателями страниц с ошибокой 404 Вашего магазина. Откуда перешел и когда. Битые товары которые до сих пор отображаются в поисковой системе или на сайте. При заходе на такие, Вы увидите отчёт. Ошибки категорий или старые категории которые нужно убрать (а посетитель их видит). При посещение таких покупателями, Вы увидите. Старые или отсутствующие производители по которым прошелся пользователь. Отображение IP адресов Подозрительные запросы так же будут отображены в отчёте.  
      Инструкция в архиве.
       
      Лицензия:
      Модуль продается с лицензией на сайт. Одна покупка = Один домен Покупая копию модуля вы получаете право на использование. Распространения модуль платно или бесплатно нарушает лицензию и грозит обнулением покупки, а так же уголовной ответственность предусмотренной статей 146 УК РФ (Нарушение авторских и смежных прав)  Автор оставляет за собой право изменят условия предоставления лицензии, изменения цены и стоков продления лицензии. Все доработки, переработки и изменения функционала не входят в стоимость модуля и оплачиваются отдельно по письменной договоренности с автором.  
      Тип распространения:
      Как есть
    • By valerykurak
      Здравствуйте, есть пользователи из бд и я хочу чтобы при клике на имя (там расположена ссылка на страницу с детальной информацией) изменялся стиль на странице с детальной информацией. В голове примерно так выглядит но не знаю как довести до ума.        
      $('.information-information-14 .card--info:nth-child(8) .card--link').on("click", function(){
                  $('.guestbook-entry .card--info3:nth-child(4)').css('display', 'block');
              });
    • By q3dm0
      700.00 руб
      Скачать/Купить дополнение


      Imagemanager (Редактор и пакетная загрузка изображений для магазина)+галерея ScangalleryPack
      Менеджер изображений, он же и обработчик, с богатым функционалом, все, что нужно для обработки изображений на лету в нем есть, некоторый аналог швейцарского армейского ножа - этот модуль является идеальной заменой старого менеджера изображений, и Вы перестанете терять огромное количество времени на редактирование изображений.
       
      Он поддерживает добавление нескольких изображений одновременно, просмотр истории (сохраняет последнюю открытую папку), перетаскивание загружаемых изображений, изменение размера/поворота, поиск изображений/папок  и многое другое!
      Ну и в комплект идет полноценная адаптивная галерея для организации своего блога, страницы новостей или фотогалереи с описанием товара или целой группы товаров с возможностью объединения галереи и товаров по тегам на сайте для более результативного поиска последних. Полноценный модуль imagemanager с возможностью заливать на лету тысячи фотографий  для своих товаров, баннеров, обрабатывать их, перетягивать в нужном порядке методом drugNdrop и не только, теперь Вы сможете это, с новым пакетом ScangalleryPack.
      модуль Imagemanager на базе jquery файл-менеджера elFinder для версий opencart 1.5.X  -2.X – 3.X; галерея на базе jquery галереи blueimp-gallery конечно же с  мультизагрузкой изображений, а также с более простой поисковой оптимизацией Вашего сайта, теперь для каждой картинки можно присвоить свой alt и title прям из под админ панели, ну и само собой, в данный пакет интегрирован модуль сортировки изображений методом перетягивания (Sortable module). Теперь ужасная и нудная работа по добавлению изображений к товарам и баннерам на сайте сводиться к минимуму, в данной версии Вы можете:
      пакетная загрузка картинок на сервер;   удаление файлов в корзину; drugNDrop пакетная загрузка изображение на сервер; обработка изображений (обрезка, поворот и другие приятности прям в окне Вашего броузера); создание, переименование, удаление, перемещение, копирование (вставка), архивирование, как изображений, так и папок, в том числе пакетная; различные варианты просмотра изображений и папок и т.д. многоязычность (два языка (En, Ru) + языки elFinder); легкость обновления версий (для опытных пользователей!); автоматическая нумерация изображений; отсутствие перезаписи системных файлов opencart; объектный метод определения загрузки файлов, теперь Вы избавитесь от лишних надоедливых кнопок внизу; изменять любое изображение в админ панели обычным выбором, есть как встроенный менеджер, так и Imagemanager на выбор.  добавление водяного знака к изображению, работает "НЕ С КЕШЕМ" изображения, водяной знак накладывается сразу при загрузке изображения на сервер,  неплохой вариант для тех кто только что открыл свой интернет магазин и не хочет чтобы его изображения были добавлены на сторонние сайты;  автоматическая регулировка размеров изображения (высота, ширина) при загрузке изображения на сервер, работает при загрузке изображений выше тех размеров которые необходимо получить: 1024*768px -> 800*600px, основан на методе плагина elFinder AutoResize; добавлен ftp клиент для менеджера, теперь можно выгружать на свой сайт картинки из других источников, подключившись по ftp (пока убран, будет полный набор - ftp, onedrive и так далее в 1.12); загрузка изображение текстового редактора summernote (одиночное/пакетное); пакетное добавление изображений в раздел баннеры (Загрузка на сервер и добавление в карточку баннера); автоматическая транслитерация именах изображений, если у Вас на сервере имеются файлы с русскими символами посвящается данный функционал, пора заменить все имена файлов на латиницу; автоматическая замена символов в именах изображений, при загрузке можно контролировать замену символов (которые могут доставить не мало проблем при хранении, переносе сайта на другой хостинг), например на нижний пробел; поддержка тем для elfinder (помимо стандартного еще 4 шт.)      
      Посмотреть работу модуля можно на следующем видео: ссылка
       
      Если возникли проблемы которые требуют моего вмешательства, заранее подготовьте доступы к админке и фтп(а также не забываем указывать точки входа-домен, адрес фтп!!!), установка и решение проблем связанные с ней бесплатны.
       
       
      Добавил q3dm0 Добавлено 08.03.2017 Категория Обмен данными Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет Старая цена 800  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.