Jump to content

Nouveau sous menu dans Catalogue pour le back-office


youenn

Recommended Posts

Bonjour,

Je veux rajouter un nouveau sous-menu à la partie catalogue.
J'ai regardé les fichiers (ex : TabManufacturers.php) pour voir comment le faire mais je ne pige pas tout à première vue.

Existe t-il une doc expliquant le rôle de chaque fonction des ces fichiers php ? Quelles fonctions sont obligatoires, etc... ? Une doc un peu comme la doc existante pour la création de modules .

Merci d'avance

Link to comment
Share on other sites

Un truc qui peux t'aider et te servir de référence. Ce module installe une sous section dans l'onglet catalogue.

modules/mynewmodule.php

class MyNewModule extends Module {

   function __construct() {
        $this->name = 'mynewmodule';
        $this->tab = 'Products';
        $this->version = '1.0';

        parent::__construct();

       $this->page = basename(__FILE__, '.php');
       $this->displayName = $this->l('My New Module');
       $this->description = $this->l('Module will be accessible from the "newModewle" submenu in the catalog tab.');
   }

   function install() {
       if (!parent::install() ||
                !Configuration::updateValue('MOD_MYNEWMODULE_TITLE', array(1=>'newModewle', 2=>'nouveauModule')) ||
                    !$this->installModuleTab('AdminMyNewModule', array(1=>'newModewle', 2=>'nouveauModule'), 1))
            return false;
        return true;
   }


   private function installModuleTab($tabClass, $tabName, $idTabParent) {
       @copy(_PS_MODULE_DIR_."mynewmodule/".$tabClass.".gif", _PS_IMG_DIR_."t/".$tabClass.".gif");
       $tab = new Tab();
       $tab->name = $tabName;
       $tab->class_name = $tabClass;
       $tab->module = $this->name;
       $tab->id_parent = $idTabParent;
       if (!$tab->save())
           return false;
       return true;
   }

   function uninstall()    {
       if (!parent::uninstall() ||
               !Configuration::deleteByName('MOD_MYNEWMODULE_TITLE') ||
                   !$this->uninstallModuleTab('AdminMyNewModule'))
           return false;
       return true;
   }


   private function uninstallModuleTab($tabClass) {
       $idTab = Tab::getIdFromClassName($tabClass);        
       if($idTab != 0) {
           $tab = new Tab($idTab);
           $tab->delete();
           @unlink( _PS_IMG_DIR."t/".$tabClass.".gif");
           return true;
       }
       return false;
   }

}



Le dernier paramètre de la fonction installModuleTab est l'id de l'onglet depuis lequel le module sera accessible: l'onglet catalogue (id=1)
Ensuite il te faut un AdminMyNewModule.php, c'est lui qui fera le reste.


h

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