Jump to content

Greffer module mots clés dans footer (impossible)


Recommended Posts

Salut à tous,

je recherche le moyen de greffer le module Bloc mots-clés

dans le footer, dès que je passe par le back-office via "position"

et que j'essaye classiquement de greffer ce module au footer,

j'obtiens un message d'erreur "ce module ne peut pas être greffé ici"

j'ai pourtant vus quelques sujets similaires sur internet qui aboutissaient quand même

j'ai testé mais sans résultat (les mainps' sont souvent pour presta 1.5)

Merci de votre intéret/aide,

Cordialement,

Raf

Link to comment
Share on other sites

Bonjour.

 

http://doc.prestashop.com/display/PS16/Positions+sur+le+front-office

 

 

Greffer un module en modifiant son code

À réserver aux experts : vous devez avoir une bonne connaissance de PHP et HTML avant de changer quoi que ce soit dans le code d'un module.

Certains modules ne peuvent être greffés dans d'autres pages car ils ne possèdent pas le code nécessaire.

Par exemple, le bloc "Recherche rapide" (/blocksearch) contient à la fois des modèles pour l'affichage des colonnes ainsi que l'affichage de l'en-tête, tandis que le bloc "Devises" (/blockcurrencies) n'a qu'un seul fichier de modèle qui se rapporte uniquement à la section d'en-tête. De même, le bloc de "Produits phares sur la page d'accueil" (/homefeatured) ne peut être placé que dans la section de contenu située au centre de la page principale.

Si vous voulez placer des modules simples tels que le bloc "Devises" vers un emplacement pour lequel il n'a pas été conçu, vous aurez à effectuer vous-même la personnalisation.
Les modules plus complexes tels que le module "Produits phares sur la page d'accueil" peuvent également être modifiés pour s'afficher dans d'autres sections de la page, mais il vous faudra pour cela les réécrire en partie afin que leur design fonctionne avec cet emplacement.

Pour personnaliser la greffe d'un module sur un point d'accroche, vous devez lui déterminez sa fonction PHP pour le point d'accroche. Reprenons le bloc "Devises", qui a cette fonction :

function hookTop($params)
  {
  ...
  }

Ainsi, pour greffer le bloc "Devises" dans la colonne de droite, vous devez créer :

function hookRightColumn($params)
  {
  ...
  }

Ceci fait, vous devez écrire le code qui affichera le contenu pour la page d'accueil. Au mieux, cela signifiera copier/coller le contenu de la fonction hookTop() ; au pire, vous devrez réécrire le contenu de la fonction hookTop() afin de fonctionner visuellement au nouvel emplacement.

Link to comment
Share on other sites

  • 1 month later...

Salut,

 

je ne sais pas si tu as trouvé une réponse à ta question ou non.

Je cherche la même chose et pour moi ça à l'air de marcher.

 

Ayant lu la réponse de Mediacom87 j'ai regardé dans blocktags.php et comme il est assez clair quand même (mon niveau php s'approche de 0) j'ai vu qu'il y a une partie installation et une partie affichage, et comme ce second est juste basique, pas besoin d'y toucher.

Donc d'abord j'ai ajouté une ligne dans la partie installation :

			&& $this->registerHook('footer')

après cette ligne

			&& $this->registerHook('leftColumn')

puis pour l'affichage :

		function hookFooter($params)
	{
		return $this->hookLeftColumn($params);
	}

et puis c'est tout.

Link to comment
Share on other sites

Salut !

Merci de ta réponse,

alors du coup ça marche sur presta 1.6.0.14 bootstraps ??

perso j'avais essayé d'écrire le code supplémentaire comme toi pour l'affichage

et le hook mais j'obtenais bien le greffage du module dans le footer mais il y avais un gros bug

au niveau de l'affichage et ça ne venais pas du code CSS

bon je vais regarder ce que tu as rajouté et je vais réessayer 

Merci de partager ta solution, c'est vraiment sympa !

Link to comment
Share on other sites

Salut pour ma part je modifie les fichiers présents dans mon thème / modules

puis il faut greffer le module dans la partie footer depuis le menu module -> greffer un module

tu cherches le module "mots clés" et tu indiques où tu désires le "greffer" (en l’occurrence displayfooter je crois)

merci de poster un retour si ça fonctionne pour toi ...

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

je te confirme que c'est dans modules/bloctags qu'il faut ajouter ces lignes.

 

            && $this->registerHook('footer')

après cette ligne

  1.             && $this->registerHook('leftColumn')

puis pour l'affichage :

  1.         function hookFooter($params)
  2.     {
  3.         return $this->hookLeftColumn($params);
  4.     }

Une fois que c'est fait tu dois ajouter les hooks dans modules / positions  dans l'admin.

Et cela devrait fonctionner.

a+

Link to comment
Share on other sites

Salut merci de ta réponse et de ton intérêt,

j'ai pas mal de taf en ce moment, dès que j'ai 5 minutes j'essaye

mais à vue de nez ça ne devrais pas fonctionner pour moi

car je n'ai pas de colonnes sur la boutique ni celle de droite, ni celle de gauche alors quand

je vois  $this->registerHook('leftColumn')

j'ai bien peur que l'astuce ne tombe à la trappe puis il y a bootstraps ...

bon, je ne baisse pas les bras et je me prévoit une petite nuit blanche

pour essayer de trouver une soluce, si j'y arrive, je partagerais la soluce pour ceux qui comme moi 

travaille sur une boutique sans colonnes (Ben oui, c'est un choix, le produit, rien que le produit !)

cordialement,

raf

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