ghoose Posted April 1, 2019 Share Posted April 1, 2019 (edited) ¡ hola a todos ! Vengo con una duda que no he encontrado por el foro. He instalado un pop up en la tiedna de un cliente, para que ofrezca un producto cuando el usuario entra al checkout. Mi duda es : ¿como puedo hacer para añadir un botón de "añadir al carrito" y que añada el producto directamente desde el pop up a la compra? ¡¡ Muchas gracias a toda la comunidad !! https://sparco-outlet.com Edited April 3, 2019 by ghoose (see edit history) Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 1, 2019 Share Posted April 1, 2019 <form action="{$urls.pages.cart}" method="post"> <input type="hidden" name="token" value="{$static_token}"> <input type="hidden" value="{$product.id_product}" name="id_product"> <button data-button-action="add-to-cart" class="btn btn-primary">Comprar</button> </form> 1 Link to comment Share on other sites More sharing options...
ghoose Posted April 1, 2019 Author Share Posted April 1, 2019 Ok, gracias!! Voy a probar y te cuento! Link to comment Share on other sites More sharing options...
ghoose Posted April 1, 2019 Author Share Posted April 1, 2019 De entrada vi que no iba a pilar el producto, así que añadi a mano el id del producto, pero es que tampoco pilla el token. ¿Se me pasó algo?¿hay que personaliar alguna parte del snippet? Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 1, 2019 Share Posted April 1, 2019 Que versión de prestashop estás usando? y en que archivo estás poniendo ese código? 1 Link to comment Share on other sites More sharing options...
ghoose Posted April 1, 2019 Author Share Posted April 1, 2019 PS 1.6.1.20 Y lo estoy metiendo dentro de un pop up. Supongo que por eso no pilla el token ¿? Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 1, 2019 Share Posted April 1, 2019 Vale, entonces lo que te he puesto no te sirve porque es para 1.7, voy a mirar para la 1.6.1 que es lo que hay que poner Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 1, 2019 Share Posted April 1, 2019 {capture}add=1&id_product=(pon aquí el id sin los parentesis){if isset($static_token)}&token={$static_token}{/if}{/capture} <a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="(pon aquí el id sin los parentesis)" data-minimal_quantity="1"> <span>{l s='Add to cart'}</span> </a> Creo que esto te tendría que funcionar 1 Link to comment Share on other sites More sharing options...
ghoose Posted April 1, 2019 Author Share Posted April 1, 2019 Ok, funciona ! Pero me encuentro con dos obstáculos: 1- Parte del código se queda a la vista, tengo que encerrarlo dentro de etiqeutas de ¿php?¿literal? Estoy probando ambos pero no lo consigo. :S 2- Una vez añade el producto al carrito, primero no se cierra y segundo me aparece debajo el "pop up nativo" de "añadido al carrito!!!! :s y seguro que para saltarme esto es una locura, no??? Link to comment Share on other sites More sharing options...
ghoose Posted April 2, 2019 Author Share Posted April 2, 2019 ¡ Buenas ! ¿Alguien me echa una mano? Por supuesto, si requiere mucho tiempo, se pagará el trabajo, sin problema. ¡¡ Gracias a todos !! Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 2, 2019 Share Posted April 2, 2019 1º- No tienes que ponerlo en ninguna etiqueta, se supone que todo esto lo estás poniendo en archivos .tpl con lo que no tendría que salirte nada. 2º- Para ocultar eso puedes probar a ver si poniendo que ese popup que sale esté siempre oculto con el css poniendo en el css del módulo blockcart lo siguiente .layer_cart{ display: none !important; } .layer_cart_overlay{ display: none !important; } O puedes borrar el código js que lo hace visible, que está en \js\modules\blockcart\ajax-cart.js , busca esto $('.layer_cart_overlay').show(); $('#layer_cart').css({'top': n}).fadeIn('fast'); y coméntalo Link to comment Share on other sites More sharing options...
ghoose Posted April 2, 2019 Author Share Posted April 2, 2019 8 minutes ago, DavidPortfolio said: 1º- No tienes que ponerlo en ninguna etiqueta, se supone que todo esto lo estás poniendo en archivos .tpl con lo que no tendría que salirte nada. Lo estoy introduciendo en el BE en la configuración del propio modulo Pop Up, en el mini editor de contenido, de ahí que lo muestre. 8 minutes ago, DavidPortfolio said: 2º- Para ocultar eso puedes probar a ver si poniendo que ese popup que sale esté siempre oculto con el css poniendo en el css del módulo blockcart lo siguiente .layer_cart{ display: none !important; } .layer_cart_overlay{ display: none !important; } O puedes borrar el código js que lo hace visible, que está en \js\modules\blockcart\ajax-cart.js , busca esto $('.layer_cart_overlay').show(); $('#layer_cart').css({'top': n}).fadeIn('fast'); y coméntalo si comento el js o lo oculto con css, quedará oculto en toda la web, no??? Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 2, 2019 Share Posted April 2, 2019 Si, estaría oculto en toda la web 1 Link to comment Share on other sites More sharing options...
ghoose Posted April 2, 2019 Author Share Posted April 2, 2019 Con respecto al primer punto, ¿tienes idea de como solucionarlo? De momento, lo que he hecho es poner el texto en blanco sobre fodno blanco.. vamos, chapuza total. Link to comment Share on other sites More sharing options...
DavidPortfolio Posted April 2, 2019 Share Posted April 2, 2019 (edited) Puedes probar a borrar toda la línea de capture a ver si funciona o no o puedes meterlo dentro de un div y ponerle display none en el estilo, y esto {l s='Add to cart'} lo puedes dejar así Add to car ya que eso lo único que sirve es para las traducciones del prestashop Edited April 2, 2019 by DavidPortfolio (see edit history) 1 Link to comment Share on other sites More sharing options...
ghoose Posted April 2, 2019 Author Share Posted April 2, 2019 (edited) funciona!! Muchas gracias!! Edito : funciona lo del div con display:none; Edited April 2, 2019 by ghoose (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now