Jump to content

[Résolu] Erreur validation adresse dans commande


Recommended Posts

Bonjour,

je suis un peu perdu suite à une erreur dans le tunnel de commande, lors de la validation d'adresse.

Si je comprends bien, il y a une erreur quant au nom ou au prénom, pourtant bien complété.

Prestashop 1.7.8.8

Merci d'avance pour votre aide.

Jean-Joseph

Quote

[PrestaShopException]

La propriété Address->firstname est vide.
at line 1046 in file classes/ObjectModel.php

1041. } 1042. 1043. $message = $this->validateField($field, $this->$field); 1044. if ($message !== true) { 1045. if ($die) { 1046. throw new PrestaShopException($message); 1047. } 1048. 1049. return $error_return ? $message : false; 1050. } 1051. }

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

ObjectModelCore->getFields - [line 578 - classes/ObjectModel.php]

ObjectModelCore->add - [line 192 - classes/Address.php] - [2 Arguments]

AddressCore->add - [line 535 - classes/ObjectModel.php] - [2 Arguments]

ObjectModelCore->save - [line 71 - classes/form/CustomerAddressPersister.php]

CustomerAddressPersisterCore->save - [line 158 - classes/form/CustomerAddressForm.php] - [2 Arguments]

CustomerAddressFormCore->submit - [line 90 - classes/checkout/CheckoutAddressesStep.php]

CheckoutAddressesStepCore->handleRequest - [line 76 - classes/checkout/CheckoutProcess.php] - [1 Arguments]

CheckoutProcessCore->handleRequest - [line 229 - controllers/front/OrderController.php] - [1 Arguments]

OrderControllerCore->initContent - [line 306 - classes/controller/Controller.php]

ControllerCore->run - [line 525 - classes/Dispatcher.php]

DispatcherCore->dispatch - [line 28 - index.php]

 

Edited by Jean-Joseph (see edit history)
Link to comment
Share on other sites

Voici :

{extends file='customer/_partials/address-form.tpl'}

{block name='form_field'}
  {if $field.name eq "alias" and $customer.is_guest}
    {* we don't ask for alias here if customer is not registered *}
  {else}
    {$smarty.block.parent}
  {/if}
{/block}

{block name="address_form_url"}
    <form
      method="POST"
      action="{url entity='order' params=['id_address' => $id_address]}"
      data-id-address="{$id_address}"
      data-refresh-url="{url entity='order' params=['ajax' => 1, 'action' => 'addressForm']}"
    >
{/block}

{block name='form_fields' append}
  <input type="hidden" name="saveAddress" value="{$type}">
  {if $type === "delivery"}
    <div class="form-group row">
      <div class="col-md-9 col-md-offset-3">
        <input name = "use_same_address" id="use_same_address" type = "checkbox" value = "1" {if $use_same_address} checked {/if}>
        <label for="use_same_address">{l s='Use this address for invoice too' d='Shop.Theme.Checkout'}</label>
      </div>
    </div>
  {/if}
{/block}

{block name='form_buttons'}
  {if !$form_has_continue_button}
    <button type="submit" class="btn btn-primary float-xs-right">{l s='Save' d='Shop.Theme.Actions'}</button>
    <a class="js-cancel-address cancel-address float-xs-right" href="{url entity='order' params=['cancelAddress' => {$type}]}">{l s='Cancel' d='Shop.Theme.Actions'}</a>
  {else}
    <form>
      <button type="submit" class="continue btn btn-primary float-xs-right" name="confirm-addresses" value="1">
          {l s='Continue' d='Shop.Theme.Actions'}
      </button>
      {if $customer.addresses|count > 0}
        <a class="js-cancel-address cancel-address float-xs-right" href="{url entity='order' params=['cancelAddress' => {$type}]}">{l s='Cancel' d='Shop.Theme.Actions'}</a>
      {/if}
    </form>
  {/if}
{/block}

 

Link to comment
Share on other sites

Je vois rien de spécial

Difficile de vous aider plus sans avoir accès aux fichiers et au bo.

Est ce que vous bien utilisé parametre -> client pour créer les titres de civilités ?

Quand vous désactivez le debug vous avez une page blanche ?

Vérifier aussi dans international -> Zones géographiques -> pays choisisez france et vérifier les paramètre demandé si il y a bien dans address et customer nom et prénom.

Et sinon

Moi je récupèrerai une version du theme claissic et je replacerai histoire d'éliminer définitivement un probleme de template.

 

 

Link to comment
Share on other sites

Quote

Est ce que vous bien utilisé parametre -> client pour créer les titres de civilités ?

Oui.
 

Quote

Quand vous désactivez le debug vous avez une page blanche ?

Une erreur 500.

Quote

Vérifier aussi dans international -> Zones géographiques -> pays choisisez france et vérifier les paramètre demandé si il y a bien dans address et customer nom et prénom.

Oui, il y a bien 'nom de famille' et 'prénom', dans client et adresse.

Quote

je récupèrerai une version du theme claissic et je replacerai

Concrètement, je fais ça comment ?


Il me semble qu'il y a aussi un bug quant à la déconnexion pour le client...

Link to comment
Share on other sites

Allez sur le site de prestashop, récupererer une 1.7.8

Déziper, recupèrer le theme classic complet.

Sur votre site vous mettez un _ devant le nom du dossier (classic)

Vous envoyez le dossier classic en ligne.

Vous videz les caches, vous regardez si l'erreur est toujours la. Si non c'est un pb du thème si oui il faut continuer à chercher.

Attention à ce que vous faite en ftp.

 

 

Edited by Ariane Web et Plus (see edit history)
Link to comment
Share on other sites

Non, plus de module en rapport avec l'adresse. J'avais essayé d'installer le module Mondial Relay, mais cela n'avait pas réussi.

Rien dans l'override.

Je ne trouve pas la solution... cela semble venir de l'encodage de l'adresse. Mais où ? Toujours la même erreur.

Doit-il y avoir un champ "prénom", dans le formulaire de l'adresse ? En fait, il n'est pas affiché. Donc impossible de le compléter.

Le thème est donc le natif "classic".

Edited by Jean-Joseph (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

J'avais un :

Quote

Customer:firstname

"firstname" étant bien présent, je ne voyais pas de problème.

J'ai donc supprimé "Customer:" : c'est réglé !
Merci !

Il me reste un problème :
impossible de se déconnecter en Front Office...

Link to comment
Share on other sites

  • Jean-Joseph changed the title to [Résolu] Erreur validation adresse dans commande

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...