Jump to content

Modificar información Transferencia Bancaria - modulo Bankwire


Recommended Posts

Hola,

 

Quiero modificar el paso final de una compra con Transferencia Bancaria. o que quiero hacer es que en el paso de "Pago" aparezca directamente toda la información de la cuenta bancaria para mejorar la información. En el paso después de confirmación ponga "Gracias" y nada más. E la foto que adjunto se ve que he podido poner la información del TPL bankwire pero no me coge las variables ni las traducciones.

 

Como se puede arreglar?

 

Gracias

post-168618-0-10239300-1337792806_thumb.png

Link to comment
Share on other sites

Hola,

 

Quiero modificar el paso final de una compra con Transferencia Bancaria. o que quiero hacer es que en el paso de "Pago" aparezca directamente toda la información de la cuenta bancaria para mejorar la información. En el paso después de confirmación ponga "Gracias" y nada más. E la foto que adjunto se ve que he podido poner la información del TPL bankwire pero no me coge las variables ni las traducciones.

 

Como se puede arreglar?

 

Gracias

Revisa el bankwire y fijate en las siguiente:

 

 



public function execPayment($cart)
{
if (!$this->active)
return ;
if (!$this->_checkCurrency($cart))
Tools::redirectLink(__PS_BASE_URI__.'order.php');

global $cookie, $smarty;

$smarty->assign(array(
'nbProducts' => $cart->nbProducts(),
'cust_currency' => $cart->id_currency,
'currencies' => $this->getCurrency((int)$cart->id_currency),
'total' => $cart->getOrderTotal(true, Cart::BOTH),
'this_path' => $this->_path,
'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
));

return $this->display(__FILE__, 'payment_execution.tpl');
}


public function hookPayment($params)
{
 if (!$this->active)
  return ;
 if (!$this->_checkCurrency($params['cart']))
  return ;
 global $smarty;
 $smarty->assign(array(
  'this_path' => $this->_path,
  'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
 ));
 return $this->display(__FILE__, 'payment.tpl');
}


public function hookPaymentReturn($params)
{
 if (!$this->active)
  return ;
 global $smarty;
 $state = $params['objOrder']->getCurrentState();
 if ($state == Configuration::get('PS_OS_BANKWIRE') OR $state == Configuration::get('PS_OS_OUTOFSTOCK'))
  $smarty->assign(array(
'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),
'bankwireDetails' => nl2br2($this->details),
'bankwireAddress' => nl2br2($this->address),
'bankwireOwner' => $this->owner,
'status' => 'ok',
'id_order' => $params['objOrder']->id
  ));
 else
  $smarty->assign('status', 'failed');
 return $this->display(__FILE__, 'payment_return.tpl');
}

 

execPayment -> El ultimo paso antes del confirmar al pago.

hookPayment -> Donde se muestran los métodos de pagos.

hookPaymentReturn -> Donde vas, una vez has finalizado el pago. (Donde dices Gracias)

 

Cuando en el código de arriba dice return $this->display(__FILE__, 'xxx.tpl'); se refiere al fichero que carga en ese momento.

 

Cuando haces en el codigo dices esto:

 

 $smarty->assign(array(
   'bankwireOwner' => $this->owner,
............
...

 

Le estas asignando el tpl que luego defines como te dije en el anterior paso, como vas a llamar a esa variable, que luego en este caso la llamas así: {$bankwireOwner} ect...

 

ect.. ect.. ect..

 

Una pequeña introducción te he dado, para que te animes a modificarlo :)

Link to comment
Share on other sites

No consigo que funcione. Lo que he hecho es modificar la funcion hookPaymentReturn con este código:

 

public function hookPaymentReturn($params)
{
 global $cookie, $smarty;
 $smarty->assign(array(
  'nbProducts' => $cart->nbProducts(),
  'cust_currency' => $cart->id_currency,
  'currencies' => $this->getCurrency((int)$cart->id_currency),
  'total' => $cart->getOrderTotal(true, Cart::BOTH),
  'this_path' => $this->_path,
  'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
 ));

}

 

Gracias

Link to comment
Share on other sites

Creo que no me explico bien. Segun lo que me comentaste:

 

execPayment -> Para cuando finalizas el proceso de pago. (Donde luego pones gracias)

hookPayment -> Donde se muestran los métodos de pagos (en tu caso comentas que solo quieres utilizar transferencia bancaria)

hookPaymentReturn -> Donde vas, una vez has pulsado la elección del método de pago.

 

 

Yo no quiero perder todos los metodos de pago, quiero que aparezcan todos, solo que despues de hacer click en Tranferencia Bancaria, la ventana que se muestra tiene que ser diferente. Entonces, yo lo que he modificado es hookPaymentReturn donde quiero que aparezca la información que sale en execPayment.

 

Esto es lo que he hecho copiando y pegando el código de bankwire.

 

Gracias

Link to comment
Share on other sites

Creo que no me explico bien. Segun lo que me comentaste:

 

execPayment -> Para cuando finalizas el proceso de pago. (Donde luego pones gracias)

hookPayment -> Donde se muestran los métodos de pagos (en tu caso comentas que solo quieres utilizar transferencia bancaria)

hookPaymentReturn -> Donde vas, una vez has pulsado la elección del método de pago.

 

 

Yo no quiero perder todos los metodos de pago, quiero que aparezcan todos, solo que despues de hacer click en Tranferencia Bancaria, la ventana que se muestra tiene que ser diferente. Entonces, yo lo que he modificado es hookPaymentReturn donde quiero que aparezca la información que sale en execPayment.

 

Esto es lo que he hecho copiando y pegando el código de bankwire.

 

Gracias

Pero comentas esto:

Yo no quiero perder todos los metodos de pago, quiero que aparezcan todos, solo que despues de hacer click en Tranferencia Bancaria, la ventana que se muestra tiene que ser diferente. Entonces, yo lo que he modificado es hookPaymentReturn donde quiero que aparezca la información que sale en execPayment.

Entonces para que estas tocando el código, si lo quieres igual que lo tienes por defecto?

 

El execPayment es el paso anterior al confirmar el pago.

Link to comment
Share on other sites

Voy a exponer los pasos y lo que quiero.

 

Primero Aparece las opciones de pago (correcto, tal como esta)

http://desmond.imageshack.us/Himg96/scaled.php?server=96&filename=79767970.png&res=landing

 

Despues veien la ventana importante, aqui aparece normalmente un texto de información, pero no los datos bancarios. Yo quiero que aparezca esto (pero con las variables correctas que ahora aparece en ___________ )

http://desmond.imageshack.us/Himg268/scaled.php?server=268&filename=59103614.png&res=landing

 

Y por ultimo donde normalmente en Prestashop aparece lo que yo quiero poner en la imagen anterior, ahora quiero que ponga esto (pero repito, lo importante para mi es la imagen anterior, es lo que no consigo):

http://desmond.imageshack.us/Himg571/scaled.php?server=571&filename=84415598.png&res=landing

 

 

P.D. He puesto las imagenes y el foro me dice "You are not allowed to use that image extension on this community." ...

  • Like 1
Link to comment
Share on other sites

Creo que no me explico bien. Segun lo que me comentaste:

 

execPayment -> Para cuando finalizas el proceso de pago. (Donde luego pones gracias)

hookPayment -> Donde se muestran los métodos de pagos (en tu caso comentas que solo quieres utilizar transferencia bancaria)

hookPaymentReturn -> Donde vas, una vez has pulsado la elección del método de pago.

 

 

Yo no quiero perder todos los metodos de pago, quiero que aparezcan todos, solo que despues de hacer click en Tranferencia Bancaria, la ventana que se muestra tiene que ser diferente. Entonces, yo lo que he modificado es hookPaymentReturn donde quiero que aparezca la información que sale en execPayment.

 

Esto es lo que he hecho copiando y pegando el código de bankwire.

 

Gracias

El execPayment es el paso antes de confirmar el pago, el de las gracias es el PaymentReturn

Link to comment
Share on other sites

Voy a exponer los pasos y lo que quiero.

 

Primero Aparece las opciones de pago (correcto, tal como esta)

http://desmond.image...png&res=landing

 

 

Primer Paso

 

Esto corresponde a esto:



public function hookPayment($params)
{
 if (!$this->active)
  return ;
 if (!$this->_checkCurrency($params['cart']))
  return ;
 global $smarty;
 $smarty->assign(array(
  'this_path' => $this->_path,
  'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
 ));
 return $this->display(__FILE__, 'payment.tpl');
}

 

 

Despues veien la ventana importante, aqui aparece normalmente un texto de información, pero no los datos bancarios. Yo quiero que aparezca esto (pero con las variables correctas que ahora aparece en ___________ )

http://desmond.image...png&res=landing

 

 

 

Segundo Paso

 

Esto corresponde a esto:

 

public function execPayment($cart)
{
 if (!$this->active)
  return ;
 if (!$this->_checkCurrency($cart))
  Tools::redirectLink(__PS_BASE_URI__.'order.php');
 global $cookie, $smarty;
 $smarty->assign(array(
  'nbProducts' => $cart->nbProducts(),
  'cust_currency' => $cart->id_currency,
  'currencies' => $this->getCurrency((int)$cart->id_currency),
  'total' => $cart->getOrderTotal(true, Cart::BOTH),
  'this_path' => $this->_path,
  'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
 ));
 return $this->display(__FILE__, 'payment_execution.tpl');
}

 

 

 

Voy a exponer los pasos y lo que quiero.

 

Y por ultimo donde normalmente en Prestashop aparece lo que yo quiero poner en la imagen anterior, ahora quiero que ponga esto (pero repito, lo importante para mi es la imagen anterior, es lo que no consigo):

http://desmond.image...png&res=landing

 

 

Tercer Paso

 

Y esto corresponde a esto:

public function hookPaymentReturn($params)
{
 if (!$this->active)
  return ;
 global $smarty;
 $state = $params['objOrder']->getCurrentState();
 if ($state == Configuration::get('PS_OS_BANKWIRE') OR $state == Configuration::get('PS_OS_OUTOFSTOCK'))
  $smarty->assign(array(
'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),
'bankwireDetails' => nl2br2($this->details),
'bankwireAddress' => nl2br2($this->address),
'bankwireOwner' => $this->owner,
'status' => 'ok',
'id_order' => $params['objOrder']->id
  ));
 else
  $smarty->assign('status', 'failed');
 return $this->display(__FILE__, 'payment_return.tpl');
}

 

Hasta aquí, has entendido la situación de los Hooks?

 

Por lo que si quieres cargar los datos del banco en el paso anterior al confirmar el pago lo deberias de dejar así:

 

public function execPayment($cart)
{
 if (!$this->active)
  return ;
 if (!$this->_checkCurrency($cart))
  Tools::redirectLink(__PS_BASE_URI__.'order.php');
 global $cookie, $smarty;
 $smarty->assign(array(
  'nbProducts' => $cart->nbProducts(),
  'cust_currency' => $cart->id_currency,
  'bankwireDetails' => nl2br2($this->details),
  'bankwireAddress' => nl2br2($this->address),
  'bankwireOwner' => $this->owner,
  'currencies' => $this->getCurrency((int)$cart->id_currency),
  'total' => $cart->getOrderTotal(true, Cart::BOTH),
  'this_path' => $this->_path,
  'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
 ));
 return $this->display(__FILE__, 'payment_execution.tpl');
}

 

Luego en el TPL, tienes que imprimir y asignar las nuevas variables.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...