Jump to content

[SOLUCIONADO] Condición a partir de onclick


OPS

Recommended Posts

Buenas a todos y gracias de antemano por vuestra ayuda.

 

En el fichero product-list.tpl, cuando el usuario hace click sobre el botón "Añadir a la cesta" se ejecuta el siguiente código:

 

<a class="button ajax_add_to_cart_button exclusive"

rel="ajax_id_product_{$product.id_product|intval}"

href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}"

 

He destacado el código de la línea que necesito cambiar. Concretamente voy a preguntar al usuario si quiere aprovechar una oferta relacionada con este producto y en caso de que el usuario responda que si entonces debo cambiar dicha línea por esta otra:

 

rel="ajax_id_product_{$product.supplier_reference}"

 

¿Cómo lo estoy tratando de hacer?

 

He realizado una función javascript a la que he llamado "Pedir_confirmacion()" que es la que pregunta al usuario si quiere aprovechar la oferta.

 

Aprovecho el evento "Onclick" para llamar a esta función y que pregunte al usuario.

 

¿Donde está el problema?

 

El problema es que no sé como hacer para recoger la respuesta del onclick y que en función de ella se ejecute un código y otro. Estoy seguro de que es muy básico pero no soy capaz de resolverlo así que agradecería cualquier ayuda.

 

digamos que a nivel funcional se trataría de algo así.

 

onclick --> {if (Pedir_confirmacion()}

rel="ajax_id_product_{$product.id_product|intval}"

{else}

rel="ajax_id_product_{$product.
supplier_reference
}"

{/if}

 

Si de esta forma no se puede hacer agradeceré me expliquen otra forma de hacerlo.

Gracias.

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

  • 4 weeks later...

Si lo que necesitas es que se añada el producto de la oferta al carrito, en lugar del mostrado, no tienes que cambiar el atributo rel.

Lo que tienes que hacer es una función que añada el carrito:

function alcarrito(idOferta)
{
ajaxCart.add(idOferta, 0, true, null, $('#quantity_wanted').val(), null);
}

E invocarla con el evento onclick, teniendo en cuenta que debes pasar el id de producto ofertado como variable de la función.

Link to comment
Share on other sites

Estimado Prescol, gracias por tu respuesta. He buscado una solución alternativa para salir del paso, en realidad para aplicar la oferta necesito saber si el cliente quiere o no la oferta ya que puede comprar los producto por separado sin oferta.

 

La solución que le he dado es incluir el condicional en el fichero ajax-cart.js. Allí compruebo si se trata de un pack

 

var pack = $(this).attr('pack');

 

if (pack != null) //Se trata de un producto en pack y por lo tanto en oferta

{

 

 

y en tal caso pregunto al cliente si quiere o no la oferta

 

var oferta = confirm("COMPRANDO 1KG DE " + $(this).attr('productoA') + " POR 1\u20AC M\u00C1S SE LLEVA 1KG DE " + $(this).attr('productoB').substring(7,55) + " \u00BFAceptar la oferta?");

 

No creo que sea demasiado profesional pero funciona.

 

Muchas gracias por tu respuesta, sé que es algo muy específico y particular pero nos hace falta que funcione así para replicar en la web el funcionamiento normal de nuestras tiendas físicas.

Link to comment
Share on other sites

Estimado Prescol, gracias por tu respuesta. He buscado una solución alternativa para salir del paso, en realidad para aplicar la oferta necesito saber si el cliente quiere o no la oferta ya que puede comprar los producto por separado sin oferta.

 

La solución que le he dado es incluir el condicional en el fichero ajax-cart.js. Allí compruebo si se trata de un pack

 

var pack = $(this).attr('pack');

 

if (pack != null) //Se trata de un producto en pack y por lo tanto en oferta

{

 

 

y en tal caso pregunto al cliente si quiere o no la oferta

 

var oferta = confirm("COMPRANDO 1KG DE " + $(this).attr('productoA') + " POR 1\u20AC M\u00C1S SE LLEVA 1KG DE " + $(this).attr('productoB').substring(7,55) + " \u00BFAceptar la oferta?");

 

No creo que sea demasiado profesional pero funciona.

 

Muchas gracias por tu respuesta, sé que es algo muy específico y particular pero nos hace falta que funcione así para replicar en la web el funcionamiento normal de nuestras tiendas físicas.

Pues si usted ha solucionado el problema, edite el titulo del tema y añade la palabra "Solucionado", esto ayudara a mantener una mayor organización en el foro.

Link to comment
Share on other sites

  • 2 months later...

buenas hola a todos estoy tratando de hacer un botón que me envié de un lado al form de contáctenos pero no se donde estoy fallando con la instrucción:

 

 

<input type="submit" class="button" value="contactenos" onClick="window.location.href('{$link->getPageLink('contact-form.php')}');" />

Link to comment
Share on other sites

buenas hola a todos estoy tratando de hacer un botón que me envié de un lado al form de contáctenos pero no se donde estoy fallando con la instrucción:

 

 

<input type="submit" class="button" value="contactenos" onClick="window.location.href('{$link->getPageLink('contact-form.php')}');" />

Abre un tema nuevo, exponiendo tu caso de forma completa, así la comunidad te podrá orientar de la mejor manera.

Link to comment
Share on other sites

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