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