Jump to content

Edit History

habratto

habratto


dodanie wersji prestashop w temacie i prośba o przeniesienie posta

Witam forumowiczów. 

Na wstępie informuję że ten sklep na prestashop stworzyłem jakiś rok temu, ze znikomą wiedzą w temacie i z pomocą tego forum i google udało się to zrobić.
Kilka dni temu po przejściu z koszyka do "zamówienia" zaczął pojawiać się błąd 500 więc zrobiłem aktualizacje presty, modułów, poczytałem logi i okazało się że PHP przekracza limit pamięci 128M.
Zwiększyłem ten limit do 256 i błędu 500 już nie ma, natomiast to co jest przekracza moją znajomość programistyczną i zmuszony jestem szukać pomocy zakładając temat.

Zmiana skórki na domyślną sprawia że błędu nie ma ale pojawia się "strony nie odnaleziono".

Oto co się tam pokazuje po włączeniu debuggera:
 

Quote

[PrestaShopException]

Właściwość Address->phone jest pusta.
at line 954 in file classes/ObjectModel.php

949. } 950. 951. $message = $this->validateField($field, $this->$field); 952. if ($message !== true) { 953. if ($die) { 954. throw new PrestaShopException($message); 955. } 956. return $error_return ? $message : false; 957. } 958. } 959.

ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php]

267. * @return array All object fields 268. * @throws PrestaShopException 269. */ 270. public function getFields() 271. { 272. $this->validateFields(); 273. $fields = $this->formatFields(self::FORMAT_COMMON); 274. 275. // For retro compatibility 276. if (Shop::isTableAssociated($this->def['table'])) { 277. $fields = array_merge($fields, $this->getFieldsShop());

ObjectModelCore->getFields - [line 48 - classes/AddressChecksumCore.php]

43. if (!$address->id) { 44. return sha1('No address set'); 45. } 46. 47. $uniqId = ''; 48. $fields = $address->getFields(); 49. foreach ($fields as $name => $value) { 50. $uniqId .= $value.self::SEPARATOR; 51. } 52. $uniqId = rtrim($uniqId, self::SEPARATOR); 53.

AddressChecksumCore->generateChecksum - [line 52 - classes/checkout/CartChecksum.php] - [1 Arguments]

47. $uniq_id .= $cart->id_currency; 48. $uniq_id .= $this->separator; 49. $uniq_id .= $cart->id_lang; 50. $uniq_id .= $this->separator; 51. 52. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_delivery)); 53. $uniq_id .= $this->separator; 54. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_invoice)); 55. $uniq_id .= $this->separator; 56. 57. $products = $cart->getProducts($refresh = true);

CartChecksumCore->generateChecksum - [line 225 - controllers/front/OrderController.php] - [1 Arguments]

220. ), 221. ); 222. 223. $checksum = null; 224. } else { 225. $checksum = $this->cartChecksum->generateChecksum($cart); 226. } 227. 228. // Prepare all other addresses' warning messages (if relevant). 229. // These messages are displayed when changing the selected address. 230. $allInvalidAddressIds = $addressValidator->validateCustomerAddresses($customer, $this->context->language);

OrderControllerCore->restorePersistedData - [line 260 - controllers/front/OrderController.php] - [1 Arguments]

255. { 256. if (Configuration::isCatalogMode()) { 257. Tools::redirect('index.php'); 258. } 259. 260. $this->restorePersistedData($this->checkoutProcess); 261. $this->checkoutProcess->handleRequest( 262. Tools::getAllValues() 263. ); 264. 265. $presentedCart = $this->cart_presenter->present($this->context->cart);

Podkreślam że od roku nie wprowadzałem tam żadnych zmian poza produktowymi.
Co robić? Gdzie szukać rozwiązania? Proszę o pomoc.

ps. proszę moderacje o przeniesienie tego posta do działu Wsparcia i pomocy :) ja chyba tego nie mogę zrobić.

habratto

habratto

Witam forumowiczów. 

Na wstępie informuję że ten sklep na prestashop stworzyłem jakiś rok temu, ze znikomą wiedzą w temacie i z pomocą tego forum i google udało się to zrobić.
Kilka dni temu po przejściu z koszyka do "zamówienia" zaczął pojawiać się błąd 500 więc zrobiłem aktualizacje presty, modułów, poczytałem logi i okazało się że PHP przekracza limit pamięci 128M.
Zwiększyłem ten limit do 256 i błędu 500 już nie ma, natomiast to co jest przekracza moją znajomość programistyczną i zmuszony jestem szukać pomocy zakładając temat.

Zmiana skórki na domyślną sprawia że błędu nie ma ale pojawia się "strony nie odnaleziono".

Oto co się tam pokazuje po włączeniu debuggera:
 

Quote

[PrestaShopException]

Właściwość Address->phone jest pusta.
at line 954 in file classes/ObjectModel.php

949. } 950. 951. $message = $this->validateField($field, $this->$field); 952. if ($message !== true) { 953. if ($die) { 954. throw new PrestaShopException($message); 955. } 956. return $error_return ? $message : false; 957. } 958. } 959.

ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php]

267. * @return array All object fields 268. * @throws PrestaShopException 269. */ 270. public function getFields() 271. { 272. $this->validateFields(); 273. $fields = $this->formatFields(self::FORMAT_COMMON); 274. 275. // For retro compatibility 276. if (Shop::isTableAssociated($this->def['table'])) { 277. $fields = array_merge($fields, $this->getFieldsShop());

ObjectModelCore->getFields - [line 48 - classes/AddressChecksumCore.php]

43. if (!$address->id) { 44. return sha1('No address set'); 45. } 46. 47. $uniqId = ''; 48. $fields = $address->getFields(); 49. foreach ($fields as $name => $value) { 50. $uniqId .= $value.self::SEPARATOR; 51. } 52. $uniqId = rtrim($uniqId, self::SEPARATOR); 53.

AddressChecksumCore->generateChecksum - [line 52 - classes/checkout/CartChecksum.php] - [1 Arguments]

47. $uniq_id .= $cart->id_currency; 48. $uniq_id .= $this->separator; 49. $uniq_id .= $cart->id_lang; 50. $uniq_id .= $this->separator; 51. 52. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_delivery)); 53. $uniq_id .= $this->separator; 54. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_invoice)); 55. $uniq_id .= $this->separator; 56. 57. $products = $cart->getProducts($refresh = true);

CartChecksumCore->generateChecksum - [line 225 - controllers/front/OrderController.php] - [1 Arguments]

220. ), 221. ); 222. 223. $checksum = null; 224. } else { 225. $checksum = $this->cartChecksum->generateChecksum($cart); 226. } 227. 228. // Prepare all other addresses' warning messages (if relevant). 229. // These messages are displayed when changing the selected address. 230. $allInvalidAddressIds = $addressValidator->validateCustomerAddresses($customer, $this->context->language);

OrderControllerCore->restorePersistedData - [line 260 - controllers/front/OrderController.php] - [1 Arguments]

255. { 256. if (Configuration::isCatalogMode()) { 257. Tools::redirect('index.php'); 258. } 259. 260. $this->restorePersistedData($this->checkoutProcess); 261. $this->checkoutProcess->handleRequest( 262. Tools::getAllValues() 263. ); 264. 265. $presentedCart = $this->cart_presenter->present($this->context->cart);

Podkreślam że od roku nie wprowadzałem tam żadnych zmian poza produktowymi.
Co robić? Gdzie szukać rozwiązania? Proszę o pomoc.

habratto

habratto

Witam forumowiczów. 

Na wstępie informuję że ten sklep na prestashop stworzyłem jakiś rok temu, ze znikomą wiedzą w temacie i z pomocą tego forum i google udało się to zrobić.
Kilka dni temu po przejściu z koszyka do "zamówienia" zaczął pojawiać się błąd 500 więc zrobiłem aktualizacje presty, modułów, poczytałem logi i okazało się że PHP przekracza limit pamięci 128M.
Zwiększyłem ten limit do 256 i błędu 500 już nie ma, natomiast to co jest przekracza moją znajomość programistyczną i zmuszony jestem szukać pomocy zakładając temat.

Zmiana skórki na domyślną sprawia że błędu nie ma ale pojawia się "strony nie odnaleziono".

Oto co się tam pokazuje po włączeniu debuggera:
 

Quote

[PrestaShopException]

Właściwość Address->phone jest pusta.
at line 954 in file classes/ObjectModel.php

949. } 950. 951. $message = $this->validateField($field, $this->$field); 952. if ($message !== true) { 953. if ($die) { 954. throw new PrestaShopException($message); 955. } 956. return $error_return ? $message : false; 957. } 958. } 959.

ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php]

267. * @return array All object fields 268. * @throws PrestaShopException 269. */ 270. public function getFields() 271. { 272. $this->validateFields(); 273. $fields = $this->formatFields(self::FORMAT_COMMON); 274. 275. // For retro compatibility 276. if (Shop::isTableAssociated($this->def['table'])) { 277. $fields = array_merge($fields, $this->getFieldsShop());

ObjectModelCore->getFields - [line 48 - classes/AddressChecksumCore.php]

43. if (!$address->id) { 44. return sha1('No address set'); 45. } 46. 47. $uniqId = ''; 48. $fields = $address->getFields(); 49. foreach ($fields as $name => $value) { 50. $uniqId .= $value.self::SEPARATOR; 51. } 52. $uniqId = rtrim($uniqId, self::SEPARATOR); 53.

AddressChecksumCore->generateChecksum - [line 52 - classes/checkout/CartChecksum.php] - [1 Arguments]

47. $uniq_id .= $cart->id_currency; 48. $uniq_id .= $this->separator; 49. $uniq_id .= $cart->id_lang; 50. $uniq_id .= $this->separator; 51. 52. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_delivery)); 53. $uniq_id .= $this->separator; 54. $uniq_id .= $this->addressChecksum->generateChecksum(new Address($cart->id_address_invoice)); 55. $uniq_id .= $this->separator; 56. 57. $products = $cart->getProducts($refresh = true);

CartChecksumCore->generateChecksum - [line 225 - controllers/front/OrderController.php] - [1 Arguments]

220. ), 221. ); 222. 223. $checksum = null; 224. } else { 225. $checksum = $this->cartChecksum->generateChecksum($cart); 226. } 227. 228. // Prepare all other addresses' warning messages (if relevant). 229. // These messages are displayed when changing the selected address. 230. $allInvalidAddressIds = $addressValidator->validateCustomerAddresses($customer, $this->context->language);

OrderControllerCore->restorePersistedData - [line 260 - controllers/front/OrderController.php] - [1 Arguments]

255. { 256. if (Configuration::isCatalogMode()) { 257. Tools::redirect('index.php'); 258. } 259. 260. $this->restorePersistedData($this->checkoutProcess); 261. $this->checkoutProcess->handleRequest( 262. Tools::getAllValues() 263. ); 264. 265. $presentedCart = $this->cart_presenter->present($this->context->cart);

Podkreślam że od roku nie wprowadzałem tam żadnych zmian poza produktowymi.
Co robić? Gdzie szukać rozwiązania? Proszę o pomoc.

×
×
  • Create New...