X@vier Posted January 25, 2022 Share Posted January 25, 2022 Bonjour, J'ai quelques articles depuis plusieurs années pour lequel il faut remplir 5 champs textes obligatoires. Depuis peu et de manières aléatoires, le fait de cliquer sur enregistrer pour mémoriser la valeur des champs me déclenche une erreur 500 et donc adieu la commande. en passant en mode DEV, voici l'erreur : Property Cart->id_currency is empty at line 917 in file classes/ObjectModel.php 912. } 913. 914. $message = $this->validateField($field, $this->$field); 915. if ($message !== true) { 916. if ($die) { 917. throw new PrestaShopException($message); 918. } 919. return $error_return ? $message : false; 920. } 921. } 922. ObjectModelCore->validateFields - [line 246 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 487 - classes/ObjectModel.php] ObjectModelCore->add - [line 196 - classes/Cart.php] - [2 Arguments] CartCore->add - [line 190 - controllers/front/ProductController.php] ProductControllerCore->initContent - [line 189 - classes/controller/Controller.php] ControllerCore->run - [line 367 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 41 - override/classes/Dispatcher.php] Dispatcher->dispatch - [line 28 - index.php] Merci par avance, toutes les idées sont bienvenues 🙂 Link to comment Share on other sites More sharing options...
Eolia Posted January 25, 2022 Share Posted January 25, 2022 Perso je l'ai patché comme ça (Même erreur mais avec des commandes créées en BO) en attendant de débuguer le truc: public function validateFields($die = true, $error_return = false) { foreach ($this->def['fields'] as $field => $data) { if (!empty($data['lang'])) { continue; } if (is_array($this->update_fields) && empty($this->update_fields[$field]) && isset($this->def['fields'][$field]['shop']) && $this->def['fields'][$field]['shop']) { continue; } $message = $this->validateField($field, $this->$field); if ($message !== true) { if ($die) { //throw new PrestaShopException($message); @PrestaShopLogger::addLog('Error on validateField', 3, $this->$field, $field); } return $error_return ? $message : false; } } return true; } On évite le die() et on log l'erreur. 1 Link to comment Share on other sites More sharing options...
X@vier Posted January 26, 2022 Author Share Posted January 26, 2022 Super Merci, 🙂 je suppose que j'écris ça dans le fichier : ObjectModel.php ? Peu importe l'endroit je suppose du moment que c'est avant la ligne 912 Link to comment Share on other sites More sharing options...
Eolia Posted January 26, 2022 Share Posted January 26, 2022 Euh, non^^ Trouvez la fonction ci-dessus dans le fichier et commentez cette ligne en ajoutant // devant //throw new PrestaShopException($message); Et mettez celle-ci juste en dessous: @PrestaShopLogger::addLog('Error on validateField', 3, $this->$field, $field); Link to comment Share on other sites More sharing options...
X@vier Posted January 26, 2022 Author Share Posted January 26, 2022 Ca à l'air de fonctionner 🙂 merci encore Link to comment Share on other sites More sharing options...
Eolia Posted January 26, 2022 Share Posted January 26, 2022 Oui, normalement je donne du code qui fonctionne 1 Link to comment Share on other sites More sharing options...
kokoon Posted May 26, 2022 Share Posted May 26, 2022 Le 26/01/2022 à 4:56 PM, Eolia a dit : Oui, normalement je donne du code qui fonctionne Un ptit mot pour remercier car j'ai eu le même message d'erreur (caché sous une erreur 500) et j'ai pu le régler grâce à vous, merci. Par contre pour moi çà se produisait seulement dans ce cas : depuis le panier (one page), suppression de l'ensemble des produits (message "panier vide" affiché) puis déconnexion du client. Et là : erreur 500 ! 😪 Link to comment Share on other sites More sharing options...
natachaC Posted June 9, 2022 Share Posted June 9, 2022 Merci Eolia !!! 1 Link to comment Share on other sites More sharing options...
vince0 Posted August 13, 2022 Share Posted August 13, 2022 On 1/26/2022 at 4:56 PM, Eolia said: Oui, normalement je donne du code qui fonctionne Je confirme ! 😄 Fonctionne pour moi en PS 1.6.1.10. Encore une fois, merci Eolia ... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now