Jump to content

Override adminProductController.php


Recommended Posts

Bonsoir à tous.

 

Je suis entrain de faire un override de adminProductController.php

 

avec

        public function __construct()
        {
            parent::__construct();
[...]
        $id_shop = Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP? (int)$this->context->shop->id : 'a.id_shop_default';

        
        $this->_select .= ', sav.`quantity_outsale` as sav_quantity_outsale, (
            SELECT SUM( sav.`quantity` - sav.`quantity_outsale` )
            FROM `ps_stock_available` sav WHERE
            sav.`id_product` = a.`id_product`
            AND sav.`id_product_attribute` =0
            AND sav.id_shop ='.$id_shop.' AND sav.id_shop_group =0) AS sav_quantity_dispo';

le souci etant que lorsque l'on procède à un trie de catégorie.

if ($join_category)
        {
           [..]
            $this->_select .= ' , cp.`position`, ';
        }
       

je me retrouve avec deux virgules à la suite.

Pour l'instant la seul solution que j'ai trouver est modifier le core, en supprimant la virgule de la fin dans

$this->_select .= ' , cp.`position`, ';

mais c'est le comble pour un override.

Auriez vous une autre solution?

 

 

Link to comment
Share on other sites

Bonsoir,

 

Puisque cette ligne est incluse selon la valeur de $join_category, pourquoi ne pas jouer là-dessus dans votre surcharge ?

 

Par exemple, un truc du style:

 
if (!$join_category)
    $this->_select .= ', ';

$this->_select .= 'sav.`quantity_outsale` as sav_quantity_outsale, (
            SELECT SUM( sav.`quantity` - sav.`quantity_outsale` )
            FROM `ps_stock_available` sav WHERE

Cela ne pourrait-il pas remplir le besoin et combler le soucis ?

Link to comment
Share on other sites

Je te remercie c'est top.

 

 

je n'y avais pas pensé à force d'avoir le nez sur son code...

 

En revanche je suis obligé de redefinir $join_category dans l'override

        $join_category = false;
        if (Validate::isLoadedObject($this->_category) && empty($this->_filter))
            $join_category = true;
Link to comment
Share on other sites

C'est souvent comme ça. C'est aussi à ça que sert le forum, pouvoir poser une question simple et avoir une réponse simple. :)

 

En effet, c'est un peu l’embêtant de la solution mais ce n'est pas encore un traitement trop lourd à réaliser, donc ça minimise le soucis, je dirais ;-)

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