Jump to content

Créer un nouvel onglet dans le backoffice


Ben S.

Recommended Posts

Bonjour,
J'essaye de créer un nouvel onglet dans le backoffice, pour personnaliser l'interface de création de produit en fonction d u profil de l'employé.

Pour l'instant je tente simplement d'afficher l'interface identique à AdminCatalog, mais je n'y arrive pas.

Je suis arrivé à faire apparaître mon nouvel onglet "Catalogue pour fournisseur" dans l'admin selon le type de profil de l'employé, mais lorsque je clique dessus rien ne s'affiche.

Il semble y avoir une erreur de code PHP qui bloque le reste car le code HTML ne se termine pas et s'arrête après l'ouverture de la balise

.

Pour le moment, j'ai tout simplement dupliqué les fichiers AdminCatalog.php et AdminProducts.php pour les renommer en AdminCatalogFournisseur.php et AdminProductsFournisseur.php.

J'ai modifié le nom des classes comme ceci :
class AdminProductsFournisseur extends AdminTab
{...

et

class AdminCatalogFournisseur extends AdminTab
{...




Dans le constructeur de AdminCatalogFournisseur.php, j'ai simplement modifié ceci :

//$this->adminProducts = new AdminProducts();
$this->adminProducts = new AdminProductsFournisseur();




Pour pouvoir débuguer mon test, savez-vous d'abord où est-ce que les erreurs et les warning Apache sont masqués ds prestashop ?

Link to comment
Share on other sites

oui, je l'ai lu, mais je ne souhaite pas créer de module : je souhaite réutiliser toutes les étapes de la création d'un produit dans le catalogue : je ne souhaite pas refaire tout le travail : l'interface Prestashop est très bien faite.

J'ai simplement besoin de d'enregistrer d'autres infos en BD lors de l'ajout d'un produit...
Peut-être que ma méthodologie n'est pas optimale pour le moment : je souhaiterai, dans l'idéal, créer une nouvelle classe héritant des classes AdminCatalog et AdminProducts pour ne rajouter que quelques instructions lors de l'ajout d'un produit tout en conservant les fichiers originaux AdminCatalog et AdminProducts tels quels pour que je puisse continuer à mettre à jour prestashop à l'avenir...

Je pensais à faire un héritage du genre :

class AdminProductsFournisseur extends AdminProducts
{...

et

class AdminCatalogFournisseur extends AdminCatalog
{... 



Mais, étant donné que ça ne fonctionnait pas, j'ai décidé de simplement dupliquer les classes AdminCatalog et AdminProducts pour y aller étape par étape... et je galère déjà pas mal...

Est-ce que ma conception des choses est fausse ? ou est-ce que ce type d'héritage semble à priori un bon moyen de personnaliser le comportement par défaut de prestashop tout en assurant une compatibilité avec les prochaines versions ?

Link to comment
Share on other sites

Bon, j'arrive enfin à afficher l'interface d'ajout d'un produit sous un onglet créé de toute pièce nommé "Catalogue pour Fournisseur".
je fais appel aux fichiers originaux de prestashop pour le moment, et je tente d'exécuter une requête à moi lors de l'ajout d'un nouveau produit de la façon suivante (dans le fichier AdminProducts.php) :

/* Add a new product */
           else
           {
               $object = new $this->className();
               $this->copyFromPost($object, $this->table);
               if ($object->add())
               {
                   // Enregistrement da la relation entre le produit et l'utilisateur
                   Db::getInstance()->Execute('
                               INSERT INTO `'._DB_PREFIX_.'access_product (`id_employee`, `id_product`) 
                               VALUES (' . $object->id . ',' . intval($cookie->id_employee) . ')');



Mon problème actuellement, est que cette requête n'est pas exécutée... la table "ps_access_product" existe bien et je n'ai pas de message d'erreur.
Cela dit, rien de s'insère dans la base de données et je ne comprends pas du tout pourquoi.

Est-ce que vous voyez ce qui cloche ?

Link to comment
Share on other sites

  • 1 year 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...