Jump to content

appeler une class existante


Recommended Posts

Bonjour à tous,

 

C'est une demande courante je pense, mais je parviens pas à trouver de réponses sur le forum, j'y suis depuis des heures !!

 

Je voudrais lister les manufacturer dans le header à la manière de manufacturer-list.tpl

 

Il me semble que je dois faire appel à la class manufacturer

 

Comment appelle cette class dans le header.tpl ?

 

Merci pour vos réponses !!

Link to comment
Share on other sites

Bonjour,

Si tu regardes la classe manufacturer, tu as cette fonction :

getManufacturers($get_nb_products = false, $id_lang = 0, $active = true, $p = false,

$n = false, $all_group = false)

qui te retournes un tableau des manufacturers.

Link to comment
Share on other sites

Merci pour cette réponse !

 

Ce que je veux faire c'est appeler cette fonction dans le header.tpl, et je ne sais pas comment faire !

 

J'ai vu des chose comme ça :

{$manufacturers->getManufacturers(....)}

 

Mais ça ne marche pas !

Est-ce que tu sais comment faire ?

Link to comment
Share on other sites

Alala, c'est pas simple pour moi et pourtant j'aimerai vraiment comprendre !!!

 

cette fois ci j'ai une erreur : Fatal error: Call to a member function getManufacturers() on a non-object

 

J'ai fais l'appelle comme ça :

{$manufacturers->getManufacturers(false, 5, true, false, false, false)}

 

Une idée ?

Est-ce que je ne pas faire vant un truc du genre :

$manufacturer=new manufacturer();

Link to comment
Share on other sites

Bonjour,

 

Le message d'erreur est explicite, ta variable "$manufacturers" n'existe pas car elle n'est pas initialisée dans le code php.

 

Pour résoudre cela je mettrais en place le fonctionnement suivant :

Override du frontController dans le dossier "Override/classes/" dans le fichier FrontController.php avec le contenu suivant :

 

<?php
class FrontController extends FrontControllerCore
{   
 /**
 * Surcharge du header pour insérer des informations supplémentaires
 */
   public function initHeader() {

    parent::initHeader();

 //Récupération de la liste des manufacturers
 $manufacturersList = Manufacturer::getManufacturers(false, $this->context->language->id);
 //Assignation des valeurs au template
 $this->context->smarty->assign('manufacturersList',$manufacturersList);

   }
}
?>

 

Ensuite dans ton fichier header.tpl tu peux afficher ta liste de la manière suivante :

 

{foreach from=$manufacturersList item=manufacturer}
 {$manufacturer.name}<br />
{/foreach}

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...

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