Plus d’informations dans votre back-office Prestashop

Voilà un cas qui arrive parfois, c’est qu’une fois dans votre back-office Prestashop, vous voulez voir d’autres informations que celles qui sont déjà prédéfinies par défaut. Pour certaines d’entre-elles, il suffit d’une petite astuce pour pouvoir y accéder plus facilement.



Exemple avec les produits

La méthode que je vais vous montrer s’applique aussi pour les autres éléments du back-office, mais ici le but est de vous montrer un exemple avec les produits, c’est un des cas les plus courant. Quand vous êtes connecté dans le back-office vous voyez la liste des produits avec certaines informations…. peut-être que certaines vous sont inutiles et peut-être que vous voulez en afficher d’autres.

Voici par exemple les champs proposés par défaut, pour les autres informations, il faut ouvrir la fiche produit et cela peut-être parfois pénible, alors qu’on aimerait avoir l’information directement dans la liste.

Comment on fait ?
Imaginons, qu’on aimerait avoir l’information de la date de modification de  l’article… parce que ça nous intéresse (par exemple pour savoir si on a fait quelque chose dessus récemment). Pour cela il faut aller modifier le fichier /repertoire_admin/tabs/AdminProduct.php

Après la ligne suivante (vers la ligne 59)

'position' => array('title' => $this->l('Position'), 'width' => 40,'filter_key' => 'cp!position', 'align' => 'center', 'position' => 'position'),

Ajoutez ceci

'date_upd' => array('title' => $this->l('Date modification'), 'width' => 60, 'align' => 'center', 'filter_key' => 'a!date_upd'),

Comme je vais avoir un champ supplémentaire, je commente la ligne de la référence… pour la masquer sinon le tableau déborde ensuite et puis par exemple dans mon cas je n’en ai pas besoin (après libre à vous de commenter le champ que vous n’utilisez pas).

Et voyons le résultat… ouaaaa y’a un nouveau champ et il est triable et on peut même faire de la recherche dessus !

Encore plus puissant ?
Bon allez encore un exemple pour te convaincre, par exemple après la ligne suivante (vers la ligne 54)  :

'name' => array('title' => $this->l('Name'), 'width' => 220, 'filter_key' => 'b!name'),

Ajoute le code suivant :

'description_short' => array('title' => $this->l('Description courte'), 'width' => 60, 'align' => 'left','search' => false),

Et voilà on a même le résumé sous les yeux sans ouvrir le produit… cool hein ?

Oui mais quels champs sont disponibles ?
J’ai pas vraiment été regarder dans le fond de la chose, mais je pense que vous pouvez récupérer les champs des tables ps_product et ps_product_lang, il faut regarder via PHPmyAdmin et localiser le nom du champ qui vous intéresse pour ensuite l’ajouter comme on l’a fait juste avant. Vous pouvez bien sûr jouer avec les paramètres disponibles… y’en a quelques-uns (autoriser à filtrer sur le champ, rechercher etc…).

Et pour les autres tableaux, catégories etc… ?
C’est le même principe, si tu veux faire ça pour les catégories, il faut ouvrir le fichier AdminCategories.php et appliquer la même logique… tu peux faire ça dans toute l’application Prestashop et c’est bien pratique.

Bilan
Voilà un exemple de mécanisme « intelligent », en une ligne on peut ajouter un nouveau comportement qui peut parfois changer la vie et on se prend pas la tête pour l’ajouter. Ce qui est dommage c’est qu’il est assez rare d’avoir ce type de mécanisme dans Prestashop, bien souvent il faut « recoder une partie »… bon pour la 1.5 y’a peut-être eu aussi amélioration… mais j’ai pas trop bossé dessus pour le moment pour confirmer la différence. L’autre jour quand je me suis aperçu que c’était possible de faire cette manipulation… je me suis dit « Hey… là ils ont assuré chez Prestashop ! » Ah ah… n’hésitez pas à utiliser cette astuce !

Notez mon billet, Google va adorer :
1 étoiles - J'aime pas !2 étoiles - Bof !3 étoiles - Bien !4 étoiles - Très bien !5 étoiles - Génial ! (Soyez le premier à noter ce billet)
Loading...

18 commentaires sur “Plus d’informations dans votre back-office Prestashop”

  1. Bien joué !

    Ce serait une bonne idée d’en faire un module de sorte à ne pas toucher au cœur de prestashop.

    Qu’on puisse simplement ajouter dans les tableaux les valeurs souhaitées dans les colonnes.

    1. Difficilement possible sans modifier le coeur (sous Prestashop 1.4), mais sous la 1.5 c’est une chose qui est à présent possible grâce à l’override du back-office.

  2. Est-ce que tu penses que c’est possible d’appliquer ton tuto pour afficher les quantités individuelles des produits déclinés ainsi que les références ?

    Actuellement, le BO affiche la quantité cumulée et j’aimerais avoir une colonne pour chaque quantité disponible sans avoir à aller dans la déclinaison de chaque produit pour connaître le solde de mon stock. A moins qu’il y ait une autre solution ?

    Merci et bonne journée

    1. Pas comme ça, car à cet endroit les valeurs des déclinaisons ne sont pas chargées, du coup il faudrait prévoir une manière différente de procéder.

  3. J’ai testé en 1.4.3 et réussi comme une grande à rajouter un élément dans le catalogue produit, à savoir le prix par unité. C’est surtout l’unité qui m’intéressait. C’est génial et te remercie beaucoup pour cette astuce bien utile ainsi que bien d’autres qui m’ont permis de faire évoluer ma petite boutique.

    Penses-tu qu’il est possible de faire de même pour que l’info remonte dans le BO de la commande passée par le client sous « Produits » ? Ca serait super pratique pour la personne qui prépare la commande….

    A part ça, est-ce que tu es localisé à proximité de la boutique Broderie Passion ?

    Excellente journée !

    1. Hello,

      Oui bien sûr c’est possible, cela demander de modifier la page du back-office situées dans admin/tabs/AdminOrders.php

      Après reste à voir où il faut injecter la modification et comment l’intégrer…

      Sinon oui, je suis pas très loin c’est dans la même rue !

      A bientôt !

  4. Super tuto, penses-tu qu’il soit possible de modifier une valeur de cette colonne (le prix par exemple) directement (en ajax par exemple) ou en ajouter un bouton sauvegarder sur chaque ligne ?

    1. Hello,

      Oula alors pas du tout, en tout cas le comportement n’est pas pensé, ni prévu pour faire de l’ajax.
      Modifier le comportement des formulaires est relativement conséquent, ça demande un vite un gros développement (en 1.5 c’est toujours pareil).

      A+

      1. Merci pour ta réponse.

        Du coup si je souhaite pouvoir modifier des prix sans avoir à entrer dans chaque fiche produit, je dois me tourner vers des solutions d’édition plus massives telles que store commander par exemple ou il y a-t-il la possibilité de faire un formulaire perso ?

        1. Je conseille largement de passer par un outil tiers oui, bien plus économique et pus fiable.

          A regarder entre Store Commander ou PrestaPricing, ces deux systèmes sont intéressants… (l’avantage de Store Commander c’est que tout se fait online, c’est un gros plus).

          Les formulaires perso c’est bien… mais uniquement si y’a pas d’autres solutions, sinon c’est une perte de temps et d’argent en développement.

  5. Bonjour,

    Je tombe sur cette vieille discussion un peu par hasard. Je suis le développeur de PrestaPricing, mentionné ci dessous le 4 décembre 2013. Même si le commentaire date un peu je voudrais juste corriger ce qui est dit :
    « A regarder entre Store Commander ou PrestaPricing, ces deux systèmes sont intéressants… (l’avantage de Store Commander c’est que tout se fait online, c’est un gros plus). »

    Ceci est correct pour Store Commander, mais l’est aussi pour PrestaPricing. En effet, certes c’est une application Windows, mais PrestaPricing n’a pas de base de données locale, il est connecté via PrestaShop sur la base de PrestaShop. Il n’est pas nécessaire comme c’est le cas avec StoreManager d’importer la base puis de l’exporter en fin de session de travail. Tout est fait en temps réél, online.
    Dans la toute première version de PP, on avait la possibilté de « se deconnecter », pour travailler offline. Option intéressante pour certains et que je remettrai sans doute un jour en place, mais qui a été désactivée il y a longtemps car était trop lente.

    Autre point en rapport avec le sujet de cette page, PrestaPricing permet aussi d’afficher et modifier des rubriques non standard (des colonnes qui auraient été ajoutées dans la table product de la base par exemple) , grâce à 4 colonnes dites « Personnalisables ».

    Crdlt
    Franck

  6. Bonjour,

    Merci d’avoir effectué cette remarque pertinente, effectivement c’est une sage décision car vu la complexité de Prestashop et le volume des enregistrements, il est préférable de travailler en live sur les informations, que d’effectuer un transit via une base de données temporaire.

    Il faudra que je prenne une fois le temps de tester plus en détail votre solution, j’ai d’ailleurs des marchands qui ont soulevé chez vous un point très positif sur votre SAV et votre attention pour améliorer le produit et l’écoute que vous portez à leurs remarques.

    Ce qui serait intéressant c’est que vous puissiez faire un retour sur ce que PrestaPrincing fait mieux que Store Commander (car c’est le plus utilisé actuellement), de manière à mieux pouvoir aussi conseiller aux clients votre solution si elle plus performantes sur certains points.

    A bientôt !

  7. Bonjour,

    Je relance la discussion, mais savez-vous comment faire sur prestashop 1.7 ?
    J’aimerai affiché la colonne Prix d’achat ?

    Merci beaucoup !
    Carl

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *