Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
400 ₴

[Prestashop] Исправить 500 ошибку при оформлении заказа

проект завершен


Необходимо найти причину возникновения ошибки при оформлении заказа.

Ошибка возникает изредка, у клиентов, которые ранее были зарегестрированы в магазине, при офрмлении заказа, в корзине.

При возникновении ошибки у клиента отображается такое сообщение:

image


или так, если на мобильном устройстве:

image


При этом, в журнале событий, в админке фиксируется такая ошибка:


[500] error\n\n#psException{font-family: Verdana; font-size: 14px}\n #psException h2{color: #F20000}\n#psException p{padding-left:  20px}\n#psException ul li{margin-bottom: 10px}\n#psException  a{font-size: 12px; color: #000000}\n#psException .psTrace,  #psException .psArgs{display: none}\n#psException pre{border:1px  solid #236B04; background-color:#EAFEE1; padding:5px;  font-family:Courier;\nwidth: 99%; overflow-x: auto; margin-bottom:  30px;}\n#psException .psArgs pre{background-color: #F1FDFE;}\n #psException pre .selected{color: #F20000; font-weight: bold;}\n [PrestaShopException]Property Address->address1 is emptyat line 917  in file classes/ObjectModel.php912.             }\n913. \n914.              $message = $this->validateField($field,  $this->$field);\n915.             if ($message !== true) {\n916.                  if ($die) {\n917.                     throw new  PrestaShopException($message);\n918.                 }\n919.                  return $error_return ? $message : false;\n920.             }\n921.          }\n922. \nObjectModelCore->validateFields - [line 246 -  classes/ObjectModel.php]241.      * @return array All object  fields\n242.      * @throws PrestaShopException\n243.      */\n244.      public function getFields()\n245.     {\n246.          $this->validateFields();\n247.         $fields =  $this->formatFields(self::FORMAT_COMMON);\n248. \n249.         //  For retro compatibility\n250.         if  (Shop::isTableAssociated($this->def[\'table\'])) {\n251.              $fields = array_merge($fields,  $this->getFieldsShop());\nObjectModelCore->getFields - [line  652 - classes/ObjectModel.php]647. \n648.         if  (Shop::checkIdShopDefault($this->def[\'table\'])  && !$this->id_shop_default) {\n649.              $this->id_shop_default =  (in_array(Configuration::get(\'PS_SHOP_DEFAULT\'), $id_shop_list) ==  true) ? Configuration::get(\'PS_SHOP_DEFAULT\') :  min($id_shop_list);\n650.         }\n651.         // Database  update\n652.         if (!$result =  Db::getInstance()->update($this->def[\'table\'],  $this->getFields(),  \'`\'.pSQL($this->def[\'primary\']).\'` =  \'.(int)$this->id, 0, $null_values)) {\n653.             return  false;\n654.         }\n655. \n656.         // Database insertion for  multishop fields related to the object\n657.         if  (Shop::isTableAssociated($this->def[\'table\']))  {\nObjectModelCore->update - [line 195 - classes/Address.php] - [1  Arguments]190. \n191.         if  (Validate::isUnsignedId($this->id_customer)) {\n192.              Customer::resetAddressCache($this->id_customer,  $this->id);\n193.         }\n194. \n195.         return  parent::update($null_values);\n196.     }\n197. \n198.     /**\n199.       * @see ObjectModel::delete()\n200.      */\nArgument  [0]\n\nAddressCore->update - [line 4711 -  modules/onepagecheckoutps/onepagecheckoutps.php]4706.                  $this->context->cart->id_address_delivery =  $id_address_delivery;\n4707. \n4708.                 if  ($this->config_vars[\'OPC_USE_SAME_NAME_CONTACT_DA\']) {\n4709.                      $address_delivery->firstname =  $customer->firstname;\n4710.                      $address_delivery->lastname  = $customer->lastname;\n4711.                      $address_delivery->update();\n4712.                  }\n4713. \n4714.                 if  (!$this->context->cart->update()) {\n4715.                      $this->errors[] = $this->l(\'An error occurred  while updating your cart.\');\n4716.                  }\nOnePageCheckoutPS->loadAddress - [line 764 -  override/controllers/front/OrderOpcController.php]759.             }  elseif (method_exists($this->onepagecheckoutps, $action)) {\n760.                  switch ($data_type) {\n761.                     case  \'html\':\n762.                          die($this->onepagecheckoutps->$action());\n763.                      case \'json\':\n764.                         $response =  Tools::jsonEncode($this->onepagecheckoutps->$action());\n765.                          die($response);\n766.                      default:\n767.                         die(\'Invalid data  type.\');\n768.                 }\n769.             } else  {\nOrderOpcController->postProcess - [line 178 -  classes/controller/Controller.php]173.             if  (!$this->content_only &&  ($this->display_header || (isset($this->className)  && $this->className))) {\n174.                  $this->setMedia();\n175.             }\n176. \n177.              // postProcess handles ajaxProcess\n178.              $this->postProcess();\n179. \n180.             if  (!empty($this->redirect_after)) {\n181.                  $this->redirect();\n182.             }\n183.  \nControllerCore->run - [line 367 - classes/Dispatcher.php]362.              if (isset($params_hook_action_dispatcher)) {\n363.                  Hook::exec(\'actionDispatcher\',  $params_hook_action_dispatcher);\n364.             }\n365. \n366.              // Running controller\n367.              $controller->run();\n368.         } catch (PrestaShopException  $e) {\n369.             $e->displayMessage();\n370.          }\n371.     }\n372. \nDispatcherCore->dispatch - [line 28 -  index.php]23. *  @license    http://opensource.org/licenses/osl-3.0.php   Open Software License (OSL 3.0)\n24. *  International Registered  Trademark & Property of PrestaShop SA\n25. */\n26. \n27.  require(dirname(__FILE__).\'/config/config.inc.php\');\n28.  Dispatcher::getInstance()->dispatch();\n\n\n{\"url_call\":\"https://insecret.com.ua/quick-order?rand=1503358563547\",\"is_ajax\":1,\"action\":\"loadAddress\",\"delivery_id\":0,\"invoice_id\":0,\"is_set_invoice\":0,\"dataType\":\"json\",\"async\":true,\"token\":\"07404aaa8b24978327e56cb30ec745e4\",\"navigator\":\"Mozilla/5.0  (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like  Gecko) Chrome/60.0.3112.91 Safari/537.36  Vivaldi/1.92.917.39\"}\n----------------------------------------------------------------\n\n

Ошибка возникает вне зависимости от  используемого браузера или устройства.

При каких именно условиях она возникает - не понятно.

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

 

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


Оформление заказа реализовано при помощи модуля One Page Checkout PrestaShop 2.3.4

Варианты оплаты - реализованы при помощи модуля universalpay 2.4.0

Версия движка: 1.6.1.16

URL сайта: https://insecret.com.ua/

Шаблон:
Transformer 3.3.1

Версия веб-сервера nginx/1.12.1

Версия PHP 7.0.15 

                     

Авторизация на сервере через SSH ключи.
Прошу быть готовым предоставить SSH ключ для авторизации.    

Отзыв заказчика о сотрудничестве с Владимиром Смирновым

Качество
Профессионализм
Стоимость
Контактность
Сроки

Спасибо.
Задача выполнена оперативно и качественно.

Отзыв фрилансера о сотрудничестве с Евгением Соболевым

Оплата
Постановка задачи
Четкость требований
Контактность

Отличный заказчик! Рекомендую!

Владимир Владимир Смирнов | Сейф Сейф



  1. ставка скрыта фрилансером
  2. 1 день430 ₴
    Дмитро
    Дмитро Лаврик
    3514   проверен    147  0   3

    Обращайтесь - посмотрим. Есть пара идей. Пока не хватает информации чтоб точно сказать в чем проблема.
    _______________
    С уважением, Дмитрий Лаврик
    WWW: https://dl.sm.ua
    E-mail: [email protected]
    Skype: dmytro.lavryk
    Facebook: https://www.facebook.com/dmytro.lavryk
    Тел. (viber, telegram): +380506037953

    Украина Сумы | 23 августа 2017 |
  3. 1 день525 ₴
    Максим
    Максим Огородников
    452     9  1

    работаю с простой более 7 лет. если преста 1.7 то чуть дороже. мой скайп ds-maxim-work. читайте отзывы обо мне

    Украина Одесса | 23 августа 2017 |
  4. 1 день300 ₴
    Timur
    Timur Timur
    416     5  0   1

    Буду рад помочь
    Ответственyо возьмусь за ваш проект
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

    Украина Житомир | 23 августа 2017 |
  5. ставка скрыта фрилансером
  6. ставка скрыта фрилансером
  1. 1 день1 400 ₴
    Vadym
    Vadym Z
    290   

    Услуги по доработке сайтов – исправление ошибок, УСКОРЕНИЕ загрузки, ОЧИСТКА ОТ ВИРУСОВ, парсеры, API. Подключаю любые системы оплаты к любой системе сайта. PHP, MySQL, JavaScript. 15$/h Доработка любых CMS для сайта. Сложность любая. Skype: vydynet Сайт: https://vydy.net

    Украина Киев | 23 августа 2017 |