Jump to content

Notice: Undefined index: autocomplete


Recommended Posts

Bonjour,

Je suis en train de créer un thème pour appréhender Prestashop, et pour l'instant je ne fait que du templating.

Cependant, je suis surpris, quand j'ai essayé de me connecter à un espace client je tombe sur ContextErrorException. Notice Undefined index:autocomplete.

image.thumb.png.d969ab708c98edc3f02ab1236279d231.png

quand je passe à nouveau sur le thème classique, l'erreur disparait.

j'avais modifié le fichier ps_customersignin.tpl pour y placer des icones de font-awesome :

<div id="_desktop_user_info">
  <div class="user-info dropdown js-dropdown">
    {if $logged}
      <a
        class="logout hidden-sm-down"
        href="{$urls.actions.logout}"
        rel="nofollow"
      >
        <i class="fas fa-user-circle"></i>
        {l s='Sign out' d='Shop.Theme.Actions'}
      </a>
      <a
        class="account"
        href="{$urls.pages.my_account}"
        title="{l s='View my customer account' d='Shop.Theme.Customeraccount'}"
        rel="nofollow"
      >
        <i class="material-icons hidden-md-up logged">&#xE7FF;</i>
        <span class="hidden-sm-down">{$customerName}</span>
      </a>
    {else}
      <a
        href="{$urls.pages.my_account}"
        title="{l s='Log in to your customer account' d='Shop.Theme.Customeraccount'}"
        rel="nofollow"
      >
        <i class="fas fa-user-circle"></i>
        <div>
          <span class="hidden-sm-down">{l s='Sign in' d='Shop.Theme.Actions'}</span>
        </div>
      </a>
    {/if}
  </div>
</div>

je ne comprends pas mon erreur. Si une personne peut m'éclairer. 😉

 

Merci

Link to comment
Share on other sites

Je te remercie pour ta réponse,  je n'ai pourtant pas touché au form-fileds.tpl et j'aurai aimé comprendre quelle(s) modification(s) effectuée(s) m'a / m'ont généré cette erreur, je n'ai pas trouvé le rapport de bug trop bavard, ni explicite (ou alors je ne l'ai pas compris).

Seules des modifications de classes et de structure dans _partials/header.tpl et dans modules/ps_customersignin/ps_customersignin.tpl (j'ai pas souvenir avoir touché autre chose)

Toujours est-il que je recommence tous les steps un par un pour voir d'où ma faute provient. Heureusement je n'en étais qu'au début, j'utiliserai Git désormais et serais plus vigilant lors de mes modifications.

Encore merci

Link to comment
Share on other sites

C'est juste parce que le debug est actif. C'est très probablement un warning "natif" qui a toujours existé dans ton thème. Rien a voir avec ton code. Quelle est ta version EXACTE de Prestashop ? Quel est ton thème? Va voir dans le template mentionné où est référencé cette variable (autocomplete)

Link to comment
Share on other sites

j'avais cloné la 1.7.7 du repo Github, j'étais partis d'une copie du dossier du thème classique ou j'avais modifié config/theme.yml. 

cette variable provient de {block name='form_field_item_password'} dans form-fileds.tpl

<input
       class="form-control js-child-focus js-visible-password"
       name="{$field.name}"
       title="{l s='At least 5 characters long' d='Shop.Forms.Help'}"
       type="password"
       {if $field.autocomplete}autocomplete="{$field.autocomplete}"{/if}
       value=""
       pattern=".{literal}{{/literal}5,{literal}}{/literal}"
       {if $field.required}required{/if}
       >

J'avais désactivé le mode debug pour voir. Toujours pareil.

Je suis repartis de 0, toujours avec le mode debug activé et je n'ai pas eu cette exception.

J'ai forcement touché un bout de code sans me rappeler, car tout fonctionne à merveille depuis.

Cette fois je prends mon temps, je commente mon code et je versionne.

A vouloir aller trop vite, j'ai du faire quelque chose de mal. En tout cas merci @doekia de t'être penché sur mon problème.

Link to comment
Share on other sites

48 minutes ago, doekia said:

{if $field.autocomplete} doit s'écrire {if !empty($field.autocomplete)}

En fait j'étais en 1.7.6 : lien vers file sur gitbub je suis reparti en 1.7.7 et tout est ok!

{block name='form_field_item_password'}
<div class="input-group js-parent-focus">
  <input
         class="form-control js-child-focus js-visible-password"
         name="{$field.name}"
         title="{l s='At least 5 characters long' d='Shop.Forms.Help'}"
         type="password"
         {if $field.autocomplete}autocomplete="{$field.autocomplete}"{/if}
         value=""
         pattern=".{literal}{{/literal}5,{literal}}{/literal}"
         {if $field.required}required{/if}
         >
  <span class="input-group-btn">
    <button
            class="btn"
            type="button"
            data-action="show-password"
            data-text-show="{l s='Show' d='Shop.Theme.Actions'}"
            data-text-hide="{l s='Hide' d='Shop.Theme.Actions'}"
            >
      {l s='Show' d='Shop.Theme.Actions'}
    </button>
  </span>
</div>
{/block}

 

devient :

{block name='form_field_item_password'}
<div class="input-group js-parent-focus">
  <input
         class="form-control js-child-focus js-visible-password"
         name="{$field.name}"
         title="{l s='At least 5 characters long' d='Shop.Forms.Help'}"
         type="password"
         value=""
         pattern=".{literal}{{/literal}5,{literal}}{/literal}"
         {if $field.required}required{/if}
         >
  <span class="input-group-btn">
    <button
            class="btn"
            type="button"
            data-action="show-password"
            data-text-show="{l s='Show' d='Shop.Theme.Actions'}"
            data-text-hide="{l s='Hide' d='Shop.Theme.Actions'}"
            >
      {l s='Show' d='Shop.Theme.Actions'}
    </button>
  </span>
</div>
{/block}

 

Link to comment
Share on other sites

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