Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
400 ₴

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

project complete


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

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

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

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 ключ для авторизации.    

Client's feedback about the contractor Владимире С.

Quality
Professionalism
Price
Availability
Terms

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

Евгений С. Евгений Соболев | Safe Safe

Freelancer's feedback about the client Евгении Соболеве

Payment
Task formulation
Requirements
Availability

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

Владимир С. Владимир Смирнов | Safe Safe



  1. proposal concealed by freelancer
  2. 1 day430 ₴
    Дмитрий Лаврик
     2110  verified   80   0

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

    Ukraine Sumy | 23 August at 07:27 |
  3. 1 day525 ₴
    Максим Огородников
     215   4   1

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

    Ukraine Odessa | 23 August at 09:29 |
  4. 1 day300 ₴
    Timur Timur
     373   3   0

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

    Ukraine Zhitomir | 23 August at 09:55 |
  5. proposal concealed by freelancer
  6. proposal concealed by freelancer
  1. 1 day1400 ₴
    Максим Галкин
     264 

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

    Ukraine Kyiv | 23 August at 00:52 |

Client
Project published
22 August at 23:45
96 views