Jump to content

_Product_Line BackOffice Detail Produit PS1.6


Recommended Posts

Bonjour,

J'avoue. Je cale sur la récupération d'une information.

Dans le back office, je souhaite affiche le contenu du champs "Available_now" pour chaque ligne de détail produit.

J'ai bien tenté de "fouiller" dans les classes, mais sans succès et cette caleur n'est pas disponible pour lors de l'execution {$product|@debug_print_var} dans  _Product_Line.tpl

une idée ?

Edited by Aude5 (see edit history)
Link to comment
Share on other sites

dans le fichier le  fichier controllers / admin /  adminiproductscontroller.php ?

ou bien dans admin/themes\default\template\controllers\products\helpers ?

 

Car dans le 1er cas si j'ajoute dans le construct

        $this->fields_list['available_now'] = array(

            'title' => $this->l('available_now'),

             'align' => 'left',

        );

j'ai bien la liste de produits dans le back office qui contient bien le available_now, mais moi je le veux dans  le detail d'une commande en back office

 

au moins ça me rassure il y a une solution  :)

 

Edited by Aude5 (see edit history)
Link to comment
Share on other sites

Cette info n'étant pas dans la table order_detail (qui est utilisée pour afficher le détails des produits dans une commande)

    public function getProductsDetail()
    {
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
		SELECT *
		FROM `'._DB_PREFIX_.'order_detail` od
		LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.id_product = od.product_id)
		LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
		WHERE od.`id_order` = '.(int)$this->id);
    }

Il faut faire une jointure avec ps_product_lang pour ajouter cette info au tableau récupéré (dans classes/order/order.php)

La fonction devient donc:

    public function getProductsDetail()
    {
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
		SELECT od.*, p.*, ps.*, pl.available_now, pl.available_later
		FROM `'._DB_PREFIX_.'order_detail` od
		LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.id_product = od.product_id)
		LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
        LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (pl.id_product = od.product_id AND pl.id_lang = '.(int)Context::getContext()->language->id.' AND pl.id_shop = od.id_shop)
		WHERE od.`id_order` = '.(int)$this->id);
    }

Ensuite ajouter dans /admin/themes/default/template/controllers/orders/_product_line.tpl:

	<td class="productAvailability text-center">
		<span class="product_availability_show">{$product['available_now']}</span>
	</td>

Et terminer avec les en-têtes dans /admin/themes/default/template/controllers/orders/helpers/view/view.tpl:

<th class="text-center"><span class="title_box ">{l s='Dispo'}</span></th>

Ce qui donne:

image.thumb.png.b514d5c2df283a00585b6851a3a3762d.png

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