Jump to content

Récupérer variable order_reference au lieu de id_order


Recommended Posts

Bonjour à toutes et tous.

 

Version : Prestashop 1.5

Je vous expose mon soucis. Mon problème se situe sur un module de paiement.
Mon module de paiement m'affiche l'id_order sur la page de hookorderconfirmation.tpl alors que je souhaiterais afficher la référence de la commande car cela ne fait pas très pro.
Donc au lieu d'avoir :
• votre n° de commande est : 34,
ce serait d'avoir :
• votre référence de commande est : SEDRFGTY

La variable que je souhaiterais récupérer existe déjà sur d'autres fichiers tels que history.tpl :

{Order::getUniqReferenceOf($order.id_order)}

Mais je ne sais comment la récupérer sur le fichier .tpl de mon module de paiement. 

Le lien une fois le paiement effectué est du type :
 

order-confirmation?id_module=

Donc si je comprends bien il fait appel au fichier OrderConfirmationController.php

J'ai dans ce fichier la fonction init :

public function initContent()
	{
		parent::initContent();

		$this->context->smarty->assign(array(
			'is_guest' => $this->context->customer->is_guest,
			'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),
			'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn()
		));

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

		$this->setTemplate(_PS_THEME_DIR_.'order-confirmation.tpl');
	}

où il est question de cette référence sauf erreur de ma part et

 

public function displayOrderConfirmation()
	{
		if (Validate::isUnsignedId($this->id_order))
		{
			$params = array();
			$order = new Order($this->id_order);
			$currency = new Currency($order->id_currency);

			if (Validate::isLoadedObject($order))
			{
				$params['total_to_pay'] = $order->getOrdersTotalPaid();
				$params['currency'] = $currency->sign;
				$params['objOrder'] = $order;
				$params['currencyObj'] = $currency;

				return Hook::exec('displayOrderConfirmation', $params);
			}
		}
		return false;
	} 

où elle n'apparait pas. Faut-il s'orienter sur cette fonction et y rajouter la variable reference ?
 

Quelqu'un pourrait-il m'éclairer sur la marche à suivre svp ?

Merci par avance.

Edited by ritepac (see edit history)

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
 Share

×
×
  • Create New...

Important Information

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