Jump to content

Rajouter 1 colonne dans BO de presta 1.7.7.1


Recommended Posts

Bonjour,

Je pensais y arriver facile mais non ....

Je souhaite rajouter la colonne transporteur dans le back office dans les commandes.

Du coup "override" ....et ça marche pas ...

Je m'explique :

Création fichier AdminOrdersController.php

avec le code suivant :

<?php

class AdminOrdersController extends AdminOrdersControllerCore
{
    public function __construct()
    {

        parent::__construct(); // On appelle le constructeur du parent (le controleur natif)

        // On recupere l'id_carrier qui va ensuite etre utile pour la methode printCarrierIcon()
        $this->_select .= ', oc.`id_carrier`,';

        // On ajoute une jointure pour atteindre l'id_carrier
        $this->_join .= 'LEFT JOIN `'._DB_PREFIX_.'order_carrier` oc ON (a.`id_order` = oc.id_order)';

        // On definit la nouvelle colonne avec icone du transporteur
        $carrier_column = array(
            'title' => $this->trans('Carrier', array(), 'Admin.Global'),
            'align' => 'text-center',
            'callback' => 'printCarrierIcon',
            'orderby' => true,
            'search' => false,
        );

        // On l'integre a la liste (ici en 3eme position)
        $part1 = array_slice($this->fields_list, 0, 2);
        $part2 = array_slice($this->fields_list, 2);
        $part1['id_carrier'] = $carrier_column;
        $this->fields_list = array_merge($part1, $part2);

    }

    // Recuperation de l'image du transporteur
    public function printCarrierIcon($id_order, $tr)
    {
        if (file_exists(_PS_TMP_IMG_DIR_ . 'carrier_mini_' . $tr['id_carrier'] . '_1.jpg')) {
            return '<img src="../img/tmp/carrier_mini_' . $tr['id_carrier'] . '_1.jpg'.'" class="imgm img-thumbnail" />';
        }
        return null;
    }

}

J'upload dans root/override/controllers/admin

Je vide mes caches .... et patrata ...rien

Je suis sous prestashop 1.7.7.1 Version de PHP : 7.2.24

J'ai fait le test en local et idem ça marche pas .... donc 2 solutions soit c'est mon code (je l'ai récupéré sur 1 site tout le monde disait OK ça marche ...soit j'ai un soucis avec le cache, du coup j'ai fait 1 modif de css et ça a bien marché )

La question que je me pose est : mon override n'est pas pris en compte mais dans "paramètre avancé " / "performance" ► "désactiver toutes les surcharges" je suis sur NON

La je comprend plus trop ....

Si quelque a une astuce je suis preneur

Merci

Bonne soirée

 

Share this post


Link to post
Share on other sites

Re

Finalement j'ai fait le test avec prestashop 1.6 et là l'override du fichier AdminOrdersController.php fonctionne, ma colonne apparait bien ...

Après une rapide reflexion je me suis rendu compte que je ne trouve pas le fichier AdminOrdersController.php dans presta1.7

Du coup difficile de l'override ....

Ma question qu'elle est ce fichier qui gère le tableau des commandes dans presta 1.7 ?

Share this post


Link to post
Share on other sites

  • 2 months later...
  • 1 month later...
  • 3 weeks later...
  • 2 weeks later...

Bonjour à tous

Du coup je n'ai toujours pas trouvé ma solution, et finalement je vois que je ne suis pas le seul ....

Honnêtement j'ai arrêté de trouver une solution pour ce problème

mais dommage

Bonne journée à tous

Share this post


Link to post
Share on other sites

  • 2 months 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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More