Jump to content

Enlever Le Pays Par Défaut


Recommended Posts

Bonjour,

 

Lorsque les clients s'inscrivent dans ma boutique, le pays par défaut est France.

 

Or, beaucoup sont Belges ou Suisse, ce qui pose problème à l'encodage par le client car le champ 'Code postal' précède le champ 'pays' (qui est donc par défaut sur France). Le nombre de chiffres du code postal étant différent selon le pays, le champ se rougit s'il ne correspond pas au nombre de chiffres des codes postaux français.

Car évidemment personne ne va d'abord modifier le champ pays qui se trouve en milieu de formulaire avant de remonter pour encoder son code postal...

 

D'où ma question : y a-t-il moyen d'enlever le pays par défaut dans le menu déroulant ?

 

Si ce n'est pas possible, est-ce que quelqu'un peut m'expliquer comment déplacer ce champ "pays" avant code postal car j'ai tenté de remonter à l'endroit voulu le code ci dessous dans le fichier address.tpl de mon thème mais cela n'a aucun effet...

 

            {if $field_name eq 'Country:name' || $field_name eq 'country' || $field_name eq 'Country:iso_code'}
                <div class="required form-group">
                    <label for="id_country">{l s='Country'} <sup>*</sup></label>
                    <select id="id_country" class="form-control" name="id_country">{$countries_list}</select>
                </div>
            {/if}

 

D'avance merci pour votre aide !

 

Cordialement,

 

JMBK

Link to comment
Share on other sites

99% des formulaires sur le web ont ce même problème.

Ce que tu peux éventuellement faire c'est mettre le pays/état avant le code postal / ville dans ton formulaire comme tu essaye de le faire.

 

Si ça ne marche pas c'est que tu dois t'y prendre mal, genre problème de cache prestashop, cache du navigateur, ou encore typo qui empèche la recompile.

Car ça doit marcher.

Attention a bien respecter les id et les names car du js vient la-dessus et doit pouvoir retrouver ces petits

Link to comment
Share on other sites

En gros et en partant du thème de base,

 

A la ligne 99 de address.tpl, tu dois avoir ceci:

                        {if $field_name eq 'Country:name' || $field_name eq 'country' || $field_name eq 'Country:iso_code'}
                                <div class="required form-group">
                                        <label for="id_country">{l s='Country'} <sup>*</sup></label>
                                        <select id="id_country" class="form-control" name="id_country">{$countries_list}</select>
                                </div>
                        {/if}
                        {if $field_name eq 'State:name'}
                                {assign var="stateExist" value=true}
                                <div class="required id_state form-group">
                                        <label for="id_state">{l s='State'} <sup>*</sup></label>
                                        <select name="id_state" id="id_state" class="form-control">
                                                <option value="">-</option>
                                        </select>
                                </div>
                        {/if}
                       {if $field_name eq 'postcode'}
                                {assign var="postCodeExist" value=true}
                                <div class="required postcode form-group unvisible">
                                        <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label>
                                        <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html':'UTF-8'}{/if}{/if}" />
                                </div>
                        {/if}
                        {if $field_name eq 'city'}
                                <div class="required form-group">
                                        <label for="city">{l s='City'} <sup>*</sup></label>
                                        <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'html':'UTF-8'}{/if}{/if}" maxlength="64" />
                                </div>
                                {* if customer hasn't update his layout address, country has to be verified but it's deprecated *}
                        {/if}
Edited by doekia (see edit history)
Link to comment
Share on other sites

Merci pour ton aide doekia !

 

J'ai donc maintenant le code ci-dessous à partir de la ligne 99 mais cela ne fonctionne toujours pas. Les caches sont vidés mais j'ai déjà remarqué que qqs fois, prestashop mettait quelques longues minutes à digérer un changement. Peut-être dois-je être patient ?

 

JM

 

            {if $field_name eq 'Country:name' || $field_name eq 'country' || $field_name eq 'Country:iso_code'}
                <div class="required form-group">
                    <label for="id_country">{l s='Country'} <sup>*</sup></label>
                    <select id="id_country" class="form-control" name="id_country">{$countries_list}</select>
                </div>
            {/if}
            {if $field_name eq 'postcode'}
                {assign var="postCodeExist" value=true}
                <div class="required postcode form-group unvisible">
                    <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label>
                    <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html':'UTF-8'}{/if}{/if}" />
                </div>
            {/if}
            {if $field_name eq 'city'}
                <div class="required form-group">
                    <label for="city">{l s='City'} <sup>*</sup></label>
                    <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'html':'UTF-8'}{/if}{/if}" maxlength="64" />
                </div>
                {* if customer hasn't update his layout address, country has to be verified but it's deprecated *}
            {/if}
            {if $field_name eq 'State:name'}
                {assign var="stateExist" value=true}
                <div class="required id_state form-group">
                    <label for="id_state">{l s='State'} <sup>*</sup></label>
                    <select name="id_state" id="id_state" class="form-control">
                        <option value="">-</option>
                    </select>

Link to comment
Share on other sites

Empaffé de Chrome, empaffé de firefox... même le cache vidé aucun d'eux ne me relève mon champ pays (le cache prestashop est évidemment vidé aussi)...

 

Il doit y avoir autre chose à faire en plus du déplacement de code.

 

Par dépit, j'ai tenté l'identification sur base de l'adresse IP mais cela ne fonctionne pas non plus. Le système me voit en France alors que je suis en Belgique (une fois).

 

Pas d'autre idée ?

Link to comment
Share on other sites

  • 10 months later...

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...