Jump to content

Lier CSS et Module


Recommended Posts

Bonjour,

 

J'ai installé récemment un module développé par une personne tierce. J'ai un problème car le CSS a été lié un peu à "la barbare". De cette façon, directement dans le fichier tpl :

- <link rel="stylesheet" type="text/css" href="{$css_dir}modules/moduleX/moduleX.css" />

 

D'où ma question : comment lier proprement un module à une feuille de style ?

 

Merci d'avance !

Link to comment
Share on other sites

Bonjour,

 

J'ai installé récemment un module développé par une personne tierce. J'ai un problème car le CSS a été lié un peu à "la barbare". De cette façon, directement dans le fichier tpl :

- <link rel="stylesheet" type="text/css" href="{$css_dir}modules/moduleX/moduleX.css" />

 

D'où ma question : comment lier proprement un module à une feuille de style ?

 

Merci d'avance !

 

public function hookHeader($params)
{

	Tools::addCSS(($this->_path).'moduleX.css', 'all');
}

 

Ce code placé dans le module, mais il faut prévoir dans la fonction install du module

 

public function install()
{

	if (!parent::install())
		return false;
	if (!$this->registerHook('header'))
		return false;
	return true;
}

Link to comment
Share on other sites

Bonjour,

 

Merci pour votre réponse. J'ai bien ajouté le code que vous m'indiquiez :

function hookHome($params)
{
	Tools::addCSS(($this->_path).'moduleX.css', 'all');
	global $smarty;
	return $this->display(__FILE__, 'moduleX.tpl');
}

Cependant, cela n'ajoute pas la directive d'ajout du CSS dans le head d'index.php

 

Qu'ai-je loupé ?

 

PS : ma fonction install ressemble trait pour trait à la vôtre.

  • Like 1
Link to comment
Share on other sites

Bonjour,

 

Merci pour votre réponse. J'ai bien ajouté le code que vous m'indiquiez :

function hookHome($params)
{
	Tools::addCSS(($this->_path).'moduleX.css', 'all');
	global $smarty;
	return $this->display(__FILE__, 'moduleX.tpl');
}

Cependant, cela n'ajoute pas la directive d'ajout du CSS dans le head d'index.php

 

Qu'ai-je loupé ?

 

 

 

PS : ma fonction install ressemble trait pour trait à la vôtre.

 

hookHome ne correspond pas à hookHeader.

Link to comment
Share on other sites

Pour ceux que cela intéresse :

 

Voici les étapes à suivre :

  • Il fallait insérer le code dans la directive hookHeader et non HookHome
  • Après, il est nécessaire de "greffer" le module dans header_of_pages

 

Par contre, comment le gréfer uniquement au header de la page d'accueil ? (sans avoir à exclure toutes les autres ?

Link to comment
Share on other sites

Pour ceux que cela intéresse :

 

Voici les étapes à suivre :

  • Il fallait insérer le code dans la directive hookHeader et non HookHome
  • Après, il est nécessaire de "greffer" le module dans header_of_pages

 

Par contre, comment le gréfer uniquement au header de la page d'accueil ? (sans avoir à exclure toutes les autres ?

 

C'est sympa mais tu peux nous relire la réponse de xavier ci dessus genre autour de http://www.prestashop.com/forums/topic/121434-lier-css-et-module/page__view__findpost__p__596096 ...

Pour autant que je sache la réponse , il te la donnait ;)

 

Alors un ptit merci à xavier ça coulerait sous le sens hein :)

  • Like 1
Link to comment
Share on other sites

C'est sympa mais tu peux nous relire la réponse de xavier ci dessus genre autour de http://www.prestashop.com/forums/topic/121434-lier-css-et-module/page__view__findpost__p__596096 ...

Pour autant que je sache la réponse , il te la donnait ;)

 

Alors un ptit merci à xavier ça coulerait sous le sens hein :)

 

Bien-entendu, c'est très gentil de sa part et je l'en remercie.

Cependant, il manquait tout de même la partie Greffe et, à ce que je sache, cela reste capital pour que cette manipulation marche. Pour finir : beaucoup de personnes ouvrent des "sujets" sans jamais poster la solution qu'ils ont, plus ou moins, eux-même trouvés. Enfin... bref.

 

Il me reste tout de même ma question précédente. Si une âme charitable (que je remercierai) pourrait m'aider :) :

- comment greffer un HookHeader uniquement au header de la page d'accueil ? (sans avoir à exclure toutes les autres pages ?)

 

Merci d'avance,

Hilz !

 

PS : Ah oué, il y avait un "Merci d'avance" aussi :o

PS1 : Le ton de l'ironie hein, pas se méprendre :)

Link to comment
Share on other sites

C'est sympa mais tu peux nous relire la réponse de xavier ci dessus genre autour de http://www.prestashop.com/forums/topic/121434-lier-css-et-module/page__view__findpost__p__596096 ...

Pour autant que je sache la réponse , il te la donnait ;)

 

Alors un ptit merci à xavier ça coulerait sous le sens hein :)

 

Bien-entendu, c'est très gentil de sa part et je l'en remercie.

Cependant, il manquait tout de même la partie Greffe et, à ce que je sache, cela reste capital pour que cette manipulation marche. Pour finir : beaucoup de personnes ouvrent des "sujets" sans jamais poster la solution qu'ils ont, plus ou moins, eux-même trouvés. Enfin... bref.

 

Il me reste tout de même ma question précédente. Si une âme charitable (que je remercierai) pourrait m'aider :) :

- comment greffer un HookHeader uniquement au header de la page d'accueil ? (sans avoir à exclure toutes les autres pages ?)

 

Merci d'avance,

Hilz !

 

PS : Ah oué, il y avait un "Merci d'avance" aussi :o

PS1 : Le ton de l'ironie hein, pas se méprendre :)

 

Salut,

 

En effet, je n'ai pas précisé pour le greffer dans l'admin parce qu'il me semble que celui-ci se greffe automatiquement justement avec le $this->registerHook('header') :-)

 

As-tu fait réinitialiser ton module ou mieux désinstaller / réinstaller. PS : attention cela supprime tout les paramètres de ton module.

 

Pour faire que ton css s'affiche uniquement dans ton hookheader de ta homepage il faut que dans ton fichier .tpl de ton module tu fasse un petit test comme celui-ci:

 

{if $page_name == "index"}
  <style type="text/css" media="all">
     @import url( /modules/nommodule/moduleX.css);
  </style>
{/if}

 

Mais dans ce cas il faudrait supprimer le Tools::addCSS(($this->_path).'moduleX.css', 'all'); de ton module dans le hookheader.

 

a+

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