Jump to content
Aude5

_Product_Line BackOffice Detail Produit PS1.6

Recommended Posts

Posted (edited)

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)

Share this post


Link to post
Share on other sites

il suffit de l'ajouter dans le helper du controleur adminProduct ;) 

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

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)

Share this post


Link to post
Share on other sites

Dans /admin829/themes/default/template/controllers/orders/_product_line.tpl

Sous quelle version êtes-vous car available_now n'existe pas nativement on a available_for_order ou available_date

Share this post


Link to post
Share on other sites

Merci @eolia pour le retour

En effet il semble que cela ne soit pas une information "native", ça complique les choses ?

Share this post


Link to post
Share on other sites

Vous voulez savoir quoi (en français) comme information pour ces produits ?

Share this post


Link to post
Share on other sites

available_now est un champ texte multi-langue qui affiche le message quand un produit est dispo ou pas

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Merci @Eolia ça fonctionne impeccable !

Heureusement que la communauté est là ;)

Je me pose la question sur l'impact de la modification de cette classe ? en terme de sécurité et lors des mises à jour ? Bien que ce le soit que de la lecture

 

Share this post


Link to post
Share on other sites

Aucun impact de sécurité et puis mise à jour de 1.6 ? Si vous passez en 1.7 ce sera sans moi^^ :P

  • Like 1

Share this post


Link to post
Share on other sites

Ok merci

 

Personnellement pas trop motivé pour passé en 1.7 mais le temps aura surement raison de nous.

Share this post


Link to post
Share on other sites

Perso je suis en 1.6.1.26 mais ce n'est pas officiel :D

 

  • Like 1

Share this post


Link to post
Share on other sites

pas 1.6.1.24  ? faut m'en dire plus en privé ;) 

Share this post


Link to post
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...

Important Information

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