При оформлении заказа с телефона, выдает следующую ошибку.
Fatal error: shopCheckout::getContact(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "waContact" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /wa-apps/shop/lib/classes/checkout/shopCheckout.class.php on line 74
Пробовал:
Менял темы дизайна;
Отключал все плагины;
Менял "Оформление заказа в корзине" на "Пошаговое оформление заказа"
Ошибка возникает только, если оформлять заказ с телефона/планшета. На десктопе проблем нет.
Кусок кода с 66й по 79ю строку, 74я выделена жирным:
protected function getContact()
{
if (wa()->getUser()->isAuth()) {
$contact = wa()->getUser();
} else {
$contact = $this->getSessionData('contact');
}
if ($contact) {
if (!$contact->get('address.shipping') && $addresses = $contact->get('address')) {
$contact->set('address.shipping', $addresses[0]);
}
}
return $contact ? $contact : new waContact();
}
9 комментариев
Попробуйте очистить кеш Webasyst в приложении «Настройки». Установите все доступные обновления для Shop-Script и фреймворка Webasyst. Сообщите номер вашей версии Shop-Script.
Здравствуйте. Еще информация.
Если авторизоваться и оформлять заказ, Checkout открывается по https://site/checkout
Если не логинится Checkout открывается не по зашифрованому соединению http://site/checkout
Оказывается данная проблема и на мобайл и на десктоп
По какому протоколу открывается витрина до перехода к оформлению заказа в этом случае? Это происходит только в вашем магазине?
SSL подключен на весь сайт. В опциях включал/выключал опцию "Использовать защищенное HTTPS-соединение при оформлении заказа и для личного кабинета покупателя".
Опцию "Перенаправлять на HTTPS" не трогал, так как в прошлый раз пришлось шерстить форум и искать где нужно отредактировать файл настроек по FTP. Сайт отрубился полностью.
Вернулся на PHP 5.6, проблема исчезла, до этого был подключен 7.0
Кстати, в логах сервера ошибка выглядит так:
Возможно, в конфигурации PHP включён параметр session.auto_start. Попробуйте его отключить.
Для всех версий, конфигурация не менялась.
Не удалось повторить описанное вами поведение в тестовом аккаунте. Предлагаю вам воспользоваться услугой расширенной диагностики специалистами нашей компании (заказать). В случае выявления ошибок в программных продуктах, разработанных нашей компанией, или наших инструкциях стоимость услуги будет возвращена в полном объёме.
Здравствуйте.
Зачем?
На PHP 5.6 все работает.