Jump to content

(résolu)Probleme creation de module entre .php et fichier css


Recommended Posts

Bonjour à tous ,

 

je me permet de vous solliciter , car etant encore un peu novice sur prestashop ( j'avoue je viens d'opencart ! ), j'ai creer un module pour afficher un bloc de 6 images cliquable dans le home et je n'arrive pas à lier mon fichier css à mon fichier php......

le seule fichier qui m'est proposé c'est le global css .....

 

Donc la Question est , ou est le problème ? je vous mets en copie mes 2 fichiers php et css .....

 

<?php
class Monmodule extends Module{
function __construct()
{
 $this->name = 'monmodule';
 $this->tab = 'Mes modules';
 $this->version = 0.1;
 $this->displayName = $this->l('Mon super module');
 $this->description = $this->l('Description de mon super module');

 parent::__construct();
}

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

public function uninstall()
 {
if (!parent::uninstall())
 return false;
 }

public function getContent()
{
 if (isset($_POST['submit'])){
  if (!empty($_POST['lastname']) AND !empty($_POST['firstname']))
echo '<h1>Bonjour '.$_POST['firstname'].' '.$_POST['lastname'].'</h1>';
  else
echo '<span class="warning" style="display:block;" >Erreur : Veuillez entrer votre nom et prenom</span>';
 }

 echo '<fieldset>
  <legend> Administration du module : </legend>
	<form method="post" action="">
	 Nom : <input type="text" name="lastname" />
	 Prenom : <input type="text" name="firstname" />
	 <input type="submit" value="Envoyer" name="submit" />
	</form>
  </fieldset>';

}

 function hookHome($params){
 return $this->display(__FILE__, 'monmodule.tpl');
}
}
?>

 

et le css

 

#home_3_products_area {
background: none repeat scroll 0 0 #000000;
margin: 0 0 5px;
padding: 5px 0 0;
#home_3_products_area a {
display: block;
float: left;
height: 150px;
width: 330px;

 

 

 

Voila , je pense avoir oublié qq chose mais la je bloque ....

 

merci d avance

Edited by laurentg (see edit history)
Link to comment
Share on other sites

alors , j'ai trouver ca à rajouter en bas de page php:

 

public function hookHeader( $params )
{
Tools::addCSS( $this->_path.'css/monfichiercss.css', 'all' );
}

 

est ce que ca va le faire ?

 

ca ne marche plus quand je rajoute cette ligne .....

 

enfin dumoins cela ne change rien toujours pas d appel a mon fichier css

Edited by laurentg (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Tu es en quel version de Prestashop ??

 

Si tu es en 1.5 :

public function hookHeader($params)
{
$this->context->controller->addCSS($this->_path.'*.css');
}

 

Si tu es en 1.4 :

public function hookHeader($params)
{
Tools::addCSS($this->_path.'*.css');
}

 

Tu dois bien sur avant register le hook Header dans l'install de ton module

 

if (!$this->registerHook('header'))
  return false;

 

Et réinitialiser ton module.

Edited by StevenInsita (see edit history)
Link to comment
Share on other sites

oups désolé , je suis en 1.4.8.2 .....

 

j'essaie ca et je te dis , et j ai register le hookheader comme ceci :

 

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

 

est ce ok ?

Link to comment
Share on other sites

Oui, très bien, surtout n'oublie pas de réinitialiser ton module depuis l'administration pour qu'il repasse par l'install de ton module.

 

Dans l'administration, dans l'onglet module, sous le titre de ton module tu dois avoir 'réinitialiser', pas loin de supprimer et désactiver

Edited by StevenInsita (see edit history)
Link to comment
Share on other sites

je vous remets en copie mon fichier php et mon css :

 

<?php
class Monmodule extends Module{
function __construct()
{
 $this->name = 'monmodule';
 $this->tab = 'Mes modules';
 $this->version = 0.1;
 $this->displayName = $this->l('Mon super module');
 $this->description = $this->l('Description de mon super module');

 parent::__construct();
}

function install()
{
 if (!parent::install())
  return false;
 if (!$this->registerHook('home'))
  return false;
 if(!$this->registerHook('header'))
  return false;
 return true;
}
public function uninstall()
 {
   if (!parent::uninstall())
 return false;
 }

public function getContent()
{
 if (isset($_POST['submit'])){
  if (!empty($_POST['lastname']) AND !empty($_POST['firstname']))
   echo '<h1>Bonjour '.$_POST['firstname'].' '.$_POST['lastname'].'</h1>';
  else
   echo '<span class="warning" style="display:block;" >Erreur : Veuillez entrer votre nom et prenom</span>';
 }

 echo '<fieldset>
  <legend> Administration du module : </legend>
    <form method="post" action="">
	 Nom : <input type="text" name="lastname" />
	 Prenom : <input type="text" name="firstname" />
	 <input type="submit" value="Envoyer" name="submit" />
    </form>
  </fieldset>';

}

 function hookHome($params){
 return $this->display(__FILE__, 'monmodule.tpl');
}
public function hookDisplayHeader($params)
{
Tools::addCSS($this->_path.'monmodule.css');
}
}

?>

 

et le css :

 

#home_3_products_area {
   background: none repeat scroll 0 0 #000000;
   margin: 0 0 5px;
   padding: 5px 0 0;
#home_3_products_area a {
   display: block;
   float: left;
   height: 150px;
   width: 330px;

 

je reste bloqué la ....... :(

Link to comment
Share on other sites

Et ensuite marquer ton Topic en résolu

 

Pour marquer un topic comme [Résolu] :

- Editer le premier post du topic en cliquant sur le bouton "Editer",

- Cliquer sur le bouton "Utiliser l'éditeur complet",

- Ajouter la mention "[Résolu]" au début du titre de votre topic et cliquez sur le bouton "Envoyer le message modifié".

Edited by StevenInsita (see edit history)
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...