Jump to content

[Résolu]Récupération d'un champ d'une table de la DB.


Recommended Posts

Bonjour,

 

Je viens vers vous car j'ai essayé plusieurs façon pour appeler le champ d'une table dans un fichier .tpl, mais je n'y arrive pas.

 

Version Prestashop version 1.4.7

 

Je sais que je dois modifier le fichier OrderConfirmationController.php et le order-confirmation.tpl.

Je veux ramener le champ total_products de la table PREFIX_orders dans le fichier order-confirmation.tpl

 

Merci pour vos réponses.

 

PS: pour la version 1.5 de Prestashop on fait comment si il y a une différence pour augmenter mon savoir :) .

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

Bonjour,

Tu n'as pas besoin de modifier le controller, juste le tpl car normalement les données de $order sont valides partout.

Donc logiquement dans le tpl, il te suffit de faire {$order->total_products} pour l'afficher.

Link to comment
Share on other sites

J'ai mis {$order->total_products} dans mon fichier order-confirmation.tpl, mais rien ne s'affiche je crois que les informations n'arrive pas. Tu es sur que je ne dois pas déclarer quelque chose dans le fichier OrderConfirmationController.php ?

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

Bonjour,

Alors effectivement après avoir vérifié, l'objet $order qui est censé être global n'est pas visible dans ce controller.

Donc dans le OrderConfirmationController.php, dans la fonction process(), tu ajoutes $order=new Order($this->id_order); et tu assignes ce que tu veux au smarty comme cela :

public function process()
{
 parent::process();
		    $order=new Order($this->id_order);
 self::$smarty->assign(array(
			   'total_products' => $order->total_products,
  'is_guest' => self::$cookie->is_guest,
  'HOOK_ORDER_CONFIRMATION' => Hook::orderConfirmation((int)($this->id_order)),
  'HOOK_PAYMENT_RETURN' => Hook::paymentReturn((int)($this->id_order), (int)($this->id_module))
 ));

 if (self::$cookie->is_guest)
 {
  self::$smarty->assign(array(
   'id_order' => $this->id_order,
   'id_order_formatted' => sprintf('#%06d', $this->id_order)
  ));
  /* If guest we clear the cookie for security reason */
  self::$cookie->mylogout();
 }
}

et dans le tpl, tu récupères la données comme cela : {$total_product}

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