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

Помогите разобраться с ошибками


marph51by

Recommended Posts

Здравствуйте! Версия ocStore 3.0.2.0. Периодически возникает ошибка при оформлении заказа.

Undefined index: guest in /var/www/sporteks/data/www/sporteks.by/store/catalog/controller/checkout/guest_shipping.php on line 70

Чем она вызвана и как можно исправить? Модуль оформления заказа стандартный. Скрины во вложении

Без названия.png

undefined index line 70.jpg

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


Судя по ошибке и скрину, ошибка выскакивает из-за того что индекс "guest" для "$this->session->data" неизвестный.

То есть вам нужно делать проверку в этом случае или искать причину почему индекс не существует

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

36 минут назад, Sunser сказал:

Судя по ошибке и скрину, ошибка выскакивает из-за того что индекс "guest" для "$this->session->data" неизвестный.

То есть вам нужно делать проверку в этом случае или искать причину почему индекс не существует

Это мне понятно. Я написал сюда в надежде, что кто-нибудь уже сталкивался с подобной проблемой и нашел вариант ее решения.

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


5 часов назад, marph51by сказал:

Здравствуйте! Версия ocStore 3.0.2.0. Периодически возникает ошибка при оформлении заказа.

Undefined index: guest in /var/www/sporteks/data/www/sporteks.by/store/catalog/controller/checkout/guest_shipping.php on line 70

Чем она вызвана и как можно исправить? Модуль оформления заказа стандартный. Скрины во вложении

undefined index line 70.jpg

вот это вставить

if (isset($this->session->data['guest']['customer_group_id'])) {

  //здесь ваш код который на скрине выделили
} else (
    $costom_fields = array();
)

 

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

3 часа назад, marph51by сказал:

Это мне понятно. Я написал сюда в надежде, что кто-нибудь уже сталкивался с подобной проблемой и нашел вариант ее решения.

выше дал решение проблемы

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

    $this->load->model('account/custom_field');

        if (isset($this->session->data['guest']['customer_group_id'])) {

        $custom_fields = $this->model_account_custom_field->getCustomFields($this->session->data['guest']['customer_group_id']);

    } else {
      $custom_fields = array();
      }

 

не помогает, к сожалению...

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


15 минут назад, marph51by сказал:

    $this->load->model('account/custom_field');

        if (isset($this->session->data['guest']['customer_group_id'])) {

        $custom_fields = $this->model_account_custom_field->getCustomFields($this->session->data['guest']['customer_group_id']);

    } else {
      $custom_fields = array();
      }

 

не помогает, к сожалению...

какая ошибка вылазит? Модификаторы обновляли

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

вот так попробуйте заменить

if (isset($this->session->data['guest'])) {	
		$custom_fields = $this->model_account_custom_field->getCustomFields($this->session->data['guest']['customer_group_id']);

		foreach ($custom_fields as $custom_field) {
			if ($custom_field['location'] == 'address') {
				$data['custom_fields'][] = $custom_field;
			}
		}
	}

и обновить модификаторы

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

РЕШЕНО. Проблема была  в модуле CDEK. а из-за него и модуль DPD работал некорректно. Решается следующим образом:

Надо отредактировать файлы в версии модуля для OpenCart 3.xsystem/config/catalog.php, system/config/default.phpизменив в нем строку$_['session_engine'] = 'db';на$_['session_engine'] = 'file';
Тем самым, включив в качестве сессионного движка файловое хранилище

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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