Jump to content

Insertar Hook Solo En Un Producto Específico


pablomedi

Recommended Posts

Hola!

Quiero insertar un hook (concretamente es un modulo html box) pero solo quiero hacerlo en un producto determinado. No quiero que me aparezca en todos los productos, si no que solamente quiero que esté en uno en concreto. ¿Hay manera de hacer esto?

Gracias!!!!

Link to comment
Share on other sites

Deberas hacerlo mediante modificacion de codigo, con un condicional del id del producto

Gracias por tu respuesta ventura.

Realmente de código no entiendo mucho y no quiero tocar nada vaya a estropearlo, ¿serías tan amable de darme alguna idea de como podría hacer esto? Gracias

Link to comment
Share on other sites

Deberas hacerlo mediante modificacion de codigo, con un condicional del id del producto

Lo que quiero hacer resumidamente, es que un producto se pueda comprar con un botón de Paypal, ya que es un producto virtual y me parece absurdo que el cliente tenga que introducir su dirección etc para tener que comprarlo a través de la cesta de la tienda. Si pongo un módulo de compra (o botón de compra) de Paypal solo en ese producto el cliente no tendrá que introducir ningún dato en mi tienda, si acaso lo tendrá que hacerlo a través de Paypal, pero eso ya les da mas seguridad. 

Gracias!!

Link to comment
Share on other sites

Para ello puedes utilizar la opcion Express checkout de Paypal, para que se posicione el boton de pago directo en la pagina del producto en el  hookProductFooter. Luego ya si quieres condicionar ese boton a determinado producto habría que hacer lo que comente mediante edicion de codigo en el modulo. Pero de momento si lo has hecho ya prueba esa opcion del modulo de Paypal para ver si es lo que necesitas.

 

Un saludo

Link to comment
Share on other sites

Para ello puedes utilizar la opcion Express checkout de Paypal, para que se posicione el boton de pago directo en la pagina del producto en el  hookProductFooter. Luego ya si quieres condicionar ese boton a determinado producto habría que hacer lo que comente mediante edicion de codigo en el modulo. Pero de momento si lo has hecho ya prueba esa opcion del modulo de Paypal para ver si es lo que necesitas.

 

Un saludo

Efectivamente así consigo que salga en todos los productos, pero me gustaría que solo fuera en uno de ellos. Lo de editar el código me viene grande, si alguien me puede echar una mano con esto se lo agradecería! :)

Link to comment
Share on other sites

En este archivo

modules\paypal\paypal.php

busca esta parte

	public function hookProductFooter($params)
	{
		$product_quantity = Product::getQuantity((int)Tools::getValue('id_product'));
		if ($product_quantity == 0)
		return;

y lo sustituyes por esto

	public function hookProductFooter($params)
	{
		$product_quantity = Product::getQuantity((int)Tools::getValue('id_product'));
		if ($product_quantity == 0 || Tools::getValue('id_product') != 18)
		return;

Siendo 18 el id del producto donde unicamente se mostrara el boton

  • Like 1
Link to comment
Share on other sites

En este archivo

modules\paypal\paypal.php

busca esta parte

	public function hookProductFooter($params)
	{
		$product_quantity = Product::getQuantity((int)Tools::getValue('id_product'));
		if ($product_quantity == 0)
		return;

y lo sustituyes por esto

	public function hookProductFooter($params)
	{
		$product_quantity = Product::getQuantity((int)Tools::getValue('id_product'));
		if ($product_quantity == 0 || Tools::getValue('id_product') != 18)
		return;

Siendo 18 el id del producto donde unicamente se mostrara el boton

Muchísimas gracias por la respuesta tan rápida.

 

A mi no me sale el código como tu me has indicado. Te copio tal y como me sale a mi a ver como tendría que hacerlo en este caso: 

	public function hookProductFooter()
	{
		$content = (!$this->useMobile()) ? $this->renderExpressCheckoutButton('product') : null;
		return $content.$this->renderExpressCheckoutForm('product');
	}
Link to comment
Share on other sites

Dependera de la version del modulo, dejalo asi

public function hookProductFooter()
	{
		if (Tools::getValue('id_product') != 18)
		return;
                 $content = (!$this->useMobile()) ? $this->renderExpressCheckoutButton('product') : null;
		return $content.$this->renderExpressCheckoutForm('product');
	}
Link to comment
Share on other sites

 

Dependera de la version del modulo, dejalo asi

public function hookProductFooter()
	{
		if (Tools::getValue('id_product') != 18)
		return;
                 $content = (!$this->useMobile()) ? $this->renderExpressCheckoutButton('product') : null;
		return $content.$this->renderExpressCheckoutForm('product');
	}

Funciona!!! Muchísimas gracias Ventura!! :)

Ya para rematar la jugada, dicho botón de Paypal me queda por debajo de la sección "MÁS" donde aparece la descripción del artículo. A mi me gustaría colocarlo justo debajo de la foto del artículo al menos, o incluso en la cajita debajo del precio (donde suele aparecer "Agregar al carrito"). Al menos colocarlo encima del "MÁS". ¿Hay posibilidad de hacer esto? Arrastrando el hook en el Live Edit ya he visto que no es posible (jeje es lo único que se me ha ocurrido hacer...)

 

Gracias de nuevo!!

Edited by pablomedi (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...