Jump to content
creationata

Bloc information client ne s'affiche pas entièrement dans le top nav [RESOLU]

Recommended Posts

Bonjour,

Dans ma "top nav" figure le module Contact puis Bloc information client (connexion/déconnexion) puis Panier.

Aucun soucis visuel lorsque le client n'est pas connecté.

Lorsque ce dernier ce connecte, on ne peut visualiser la "partie" Voir mon compte client. Le nom est invisible mais l'on peut cliquer dessus (à l'aveugle)

Ci joint une capture d'écran.

Si je greffe le module Information client dans le Display top, aucun soucis par contre. C'est dans le display Nav le problème d'affichage...

Avez vous une piste ? Peut être faut il modifier la largeur de la div account ?

Voici mon nouveau site en question : http://creationata-fairepart.com

 

Sans titre-2.jpg

Edited by creationata (see edit history)

Share this post


Link to post
Share on other sites

La balise <span> est vide alors qu'elle devrait contenir le nom / prénom, donc sa longueur est minimale

image.png.7269e2a59a4d74cee7ed5c0dac4ce771.png

Il faudrait mettre le code du tpl ici et/ou afficher les erreurs (modif du /config/defines.inc.php) car la variable qui devrait s'afficher ne semble pas définie ou est simplement absente.

Le tpl concerné doit être dans /thèmes/votre_theme/modules/blockpermanentlinks/blockpermanentlinks-header.tpl

Share this post


Link to post
Share on other sites

Bonjour et merci pour votre réponse

Alors quand j'affiche les erreurs j'ai ça :

Notice: Trying to get property of non-object in /home/creationhg/www/cache/smarty/compile/b2/87/a4/b287a4da3f33418a0d3f64013d6440989c3f998d.file.nav.tpl.php on line 33

Notice: Trying to get property of non-object in /home/creationhg/www/cache/smarty/compile/b2/87/a4/b287a4da3f33418a0d3f64013d6440989c3f998d.file.nav.tpl.php on line 34

et Voici les lignes en question 

<div class="header_user_info">
		<a href="<?php echo htmlspecialchars($_smarty_tpl->tpl_vars['link']->value->getPageLink('my-account',true), ENT_QUOTES, 'UTF-8', true);?>
" title="<?php echo smartyTranslate(array('s'=>'View my customer account','mod'=>'blockuserinfo'),$_smarty_tpl);?>
" class="account" rel="nofollow"><span><?php echo $_smarty_tpl->tpl_vars['cookie']->value->customer_firstname;?>
 <?php echo $_smarty_tpl->tpl_vars['cookie']->value->customer_lastname;?>
</span></a>
	</div>

et je n'ai pas de fichier /thèmes/votre_theme/modules/blockpermanentlinks/blockpermanentlinks-header.tpl

En revanches dans /thèmes/votre_theme/modules/blockuserinfo/nav.tpl j'ai bien la balise span non vide :

<span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span>

Donc je ne vois pas trop où sont les 2 erreurs à corriger ligne 33 et 34 :/

Share this post


Link to post
Share on other sites

curieux, cela voudrait dire que la variable $cookie n'est pas encore définie lors de l'appel au hookdisplaynav alors qu'elle est toujours définie dans le frontController....

image.png.fdcbcde99188a7134a868eacc00cd88b.png

Un autre module doit la supprimer.

Pouvez-vous regarder quels sont les modules hookés sur le displaynav dans Modules -> positions ?

Share this post


Link to post
Share on other sites

image.thumb.png.6809d7e054669d86b34e5c0c5910b6a3.png

Il y a ces 3 modules (il me semble que classiquement c'est ça)

C'est peut être le panier que j'ai remonté à cet endroit...

Share this post


Link to post
Share on other sites

Pouvez-vous faire juste un test en mettant le panier en 2ème position ?

 

Share this post


Link to post
Share on other sites

C'est la même chose . J'ai testé aussi en dégreffant le bloc panier. Idem.

Pareil par rapport à bloc contact.

Aucun soucis si je mets dans le displaytop (sous le menu) par contre.... mais j'aimais vraiment la configuration de tout positionner en haut (comme la plupart des sites)

image.png.8df777e2e1f7381309c5b169e482ac6d.png

 

Share this post


Link to post
Share on other sites

Donc le problème vient d'ailleurs.

Pour votre cas précis, modifiez la fonction hookDisplayNav() comme ceci dans blockuserinfo.php:

	public function hookDisplayNav($params)
	{
		 $this->context->smarty->assign(array(
							'cookie' => $this->context->cookie
							));
		return $this->display(__FILE__, 'nav.tpl');
	}

Et dites-nous

Share this post


Link to post
Share on other sites

Ahhh c'était ça, ça fonctionne nickel !!

J'aurais vraiment jamais trouvé, un grand merci pour votre temps et vos compétences !! 

Share this post


Link to post
Share on other sites

C'est un patch mais ce n'est pas normal de devoir l'ajouter. Comme expliqué plus haut, cette variable est assignée par Prestashop en tout premier. Il y a donc du code quelque part qui supprime cette variable et il serait bon de savoir qui/quoi/où/comment et pourquoi....

Share this post


Link to post
Share on other sites

Arf... à part le fait que j'ai greffé le panier dans le display nav en le positionnant à droite je n'ai pas vraiment bidouillé dans ce coin là :/

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More