guelu Posted October 14, 2014 Share Posted October 14, 2014 Buenas amigos, La verdad es que parece una tontería y lo he estado buscando por ahí, pero no lo encuentro. La cuestión es que quiero poner un checkbox para que la gente que se inscriba en el Newsletter acepte las condiciones de uso, o en su defecto un texto que venga a decir que si se inscribe se aceptan de facto las condiciones. Gracias Link to comment Share on other sites More sharing options...
jesa Posted October 14, 2014 Share Posted October 14, 2014 Busca en el foro, este tema lo han tratado hace pocos días en este mismo foro. Había un módulo que hacía esto pero era para versiones antiguas de prestashop y algún usuario lo ha estado adaptando a su web en las ultimas fechas. Link to comment Share on other sites More sharing options...
rafaelamargo Posted October 14, 2014 Share Posted October 14, 2014 (edited) Suponiendo que uses Prestashop 1.6, con plantilla por defecto, primero editar fichero: /themes/default-bootstrap/modules/blocknewsletter/blocknewsletter.tpl Mas info, en este tema (no se si es al que se refiere jesa): http://www.prestashop.com/forums/topic/323776-incluir-check-en-suscripci%C3%B3n-a-newsletter/ (que lo acabo de encontrar en google) Edited October 14, 2014 by rafaelamargo (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted October 14, 2014 Share Posted October 14, 2014 Efectivamente me refería a ese. Sabía que tú habías estado hablando hace unos días sobre esto porque quedaba algún problema de posición por solucionar. Link to comment Share on other sites More sharing options...
guelu Posted October 15, 2014 Author Share Posted October 15, 2014 Hola amigos! Lo primeros agradeceros el enlace y el interés. He estado mirando el código y lo he insertado en mi fichero (no uso el tema por defecto) y efectivamente he conseguido que el checkbox aparezca. El problema ahora es que ingresa el email esté el checkbox clicado o no, es indiferente, por ello debe haber un error en el código que no consigo ver... os lo pego a continuación : <div id="newsletter_block_left" class="block"> <p class="title_block">{l s='Newsletter' mod='blocknewsletter'}</p> <div class="block_content"> <form action="{$link->getPageLink('index')|escape:'html':'UTF-8'}" method="post"> <div class="form-group{if isset($msg) && $msg } {if $nw_error}form-error{else}form-ok{/if}{/if}" > <input class="inputNew form-control grey newsletter-input" id="newsletter-input" type="text" name="email" size="18" value="{if isset($msg) && $msg}{$msg}{elseif isset($value) && $value}{$value}{else}{l s='Enter your e-mail' mod='blocknewsletter'}{/if}" /> <button type="submit" name="submitNewsletter" class="btn btn-default button button-small"> <span>{l s='Ok' mod='blocknewsletter'}</span> </button> <input type="hidden" name="action" value="0" /> <p class="checkbox" id="security_informations"> <input id="acepta_lopd_form" type="checkbox" value="1" {if isset($smarty.post.acepta_lopd_form) AND $smarty.post.acepta_lopd_form == 1}checked="checked"{/if} name="acepta_lopd_form"> <label for="acepta_lopd_form">{l s='Acepto'} </label> <a href="{$link->getCMSLink(Configuration::get('PS_CONDITIONS_CMS_ID'))}{if Configuration::get('PS_REWRITING_SETTINGS') == 1}&&;{else}&&;{/if}content_only=1" class="iframe">{l s='Politica Privacidad'}</a></p> </div> </form> </div> </div> Muchas gracias! Link to comment Share on other sites More sharing options...
guelu Posted October 16, 2014 Author Share Posted October 16, 2014 Pues he seguido haciendo pruebas y consigo que aparezca el checkbox pero no verifica si está o no clicado con lo que siempre acepta el registro.... No se ya muy bien que hacer... Alguna sugerencia? Link to comment Share on other sites More sharing options...
guelu Posted October 16, 2014 Author Share Posted October 16, 2014 Lamentablemente no lo he conseguido aún, asi que para ir tirando lo que he puesto es un texto debajo de la caja de texto del newsletter diciendo que si se hace click en el "ok" se aceptan las condiciones Generales. Creo que con esto podré ir tirando mientras algien nos ayuda a implementarlo con el dichoso checkbox. Os dejo el código como lo tengo hasta ahora: <!-- Block Newsletter module--> <div id="newsletter_block_left" class="block"> <p class="title_block">{l s='Newsletter' mod='blocknewsletter'}</p> <div class="block_content"> <form action="{$link->getPageLink('index')|escape:'html':'UTF-8'}" method="post"> <div class="form-group{if isset($msg) && $msg } {if $nw_error}form-error{else}form-ok{/if}{/if}" > <input class="inputNew form-control grey newsletter-input" id="newsletter-input" type="text" name="email" size="18" value="{if isset($msg) && $msg}{$msg}{elseif isset($value) && $value}{$value}{else}{l s='Enter your e-mail' mod='blocknewsletter'}{/if}" /> <button type="submit" name="submitNewsletter" class="btn btn-default button button-small"> <span>{l s='Ok' mod='blocknewsletter'}</span> </button> <input type="hidden" name="action" value="0" /> <label for="acepta_lopd_form">{l s='Al hacer click en "OK" acepta las '} </label> <p><a href="{$link->getCMSLink(Configuration::get('PS_CONDITIONS_CMS_ID'))}{if Configuration::get('PS_REWRITING_SETTINGS') == 1}?{else}&{/if}content_only=1" class="iframe">{l s=' Condiciones Generales'}</a></p> </div> </form> </div> </div> Un saludo Link to comment Share on other sites More sharing options...
rafaelamargo Posted October 18, 2014 Share Posted October 18, 2014 He solicitado borrar mis mensajes del otro tema, porque en el tema del estilo yo tampoco he conseguido y no quiero crear confusiones, he visto que ahora prestashop te crea unos elementos automaticos, cuando añades un elemento en el formulario. Yo no he conseguido colocarlo sin que se baje (si puedes solucionar eso, dimelo), lo que si creo que he conseguido es que funcione la validación real gracias a moraira: http://www.prestashop.com/forums/topic/244467-adaptar-el-formulario-de-contacto-a-la-lopd-con-un-check/ , es decir, yo lo tengo asi: <script type="text/javascript"> {literal} $('document').ready(function() { // desactivo boton envio $('#formsucripcion').submit(function() { if ($("#acepta_lopd_form").is(":checked")) { $('#submitNewsletter').hide() return true; } else { alert ("{/literal}{l s='If you agree to the terms in the Customer Data Privacy message, please click the check box below.' mod='blocknewsletter'}{literal}"); $('#submitNewsletter').show() return false; } }); }); {/literal} </script> {* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2014 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} <!-- Block Newsletter module--> <div id="newsletter_block_left" class="block"> <h4>{l s='Newsletter' mod='blocknewsletter'}</h4> <div class="block_content"> <form action="{$link->getPageLink('index')|escape:'html':'UTF-8'}" method="post" id="formsucripcion"> <div class="form-group{if isset($msg) && $msg } {if $nw_error}form-error{else}form-ok{/if}{/if}" > <input class="inputNew form-control grey newsletter-input" id="newsletter-input" type="text" name="email" size="18" value="{if isset($msg) && $msg}{$msg}{elseif isset($value) && $value}{$value}{else}{l s='Enter your e-mail' mod='blocknewsletter'}{/if}" /> <button type="submit" name="submitNewsletter" id="submitNewsletter" class="btn btn-default button button-small"> <span>{l s='Ok' mod='blocknewsletter'}</span> </button> <input type="hidden" name="action" value="0" /> <label for="terminosm"> <script type="text/javascript">{literal} $('a.enlace_ventana').fancybox({ type: 'iframe', });{/literal} </script> <input type="checkbox" name="acepta_lopd_form" id="acepta_lopd_form"> <a id="enlace_ventana" href="{$link->getCMSLink(1)}{if Configuration::get('PS_REWRITING_SETTINGS') == 1}?{else}&{/if}content_only=1" class="enlace_ventana" > {l s='He leido y aceptado los terminos' mod='blocknewsletter'} </a></label> </div> </form> </div> </div> <!-- /Block Newsletter module--> {strip} {if isset($msg) && $msg} {addJsDef msg_newsl=$msg|@addcslashes:'\''} {/if} {if isset($nw_error)} {addJsDef nw_error=$nw_error} {/if} {addJsDefL name=placeholder_blocknewsletter}{l s='Enter your e-mail' mod='blocknewsletter' js=1}{/addJsDefL} {if isset($msg) && $msg} {addJsDefL name=alert_blocknewsletter}{l s='Newsletter : %1$s' sprintf=$msg js=1 mod="blocknewsletter"}{/addJsDefL} {/if} {/strip} Link to comment Share on other sites More sharing options...
guelu Posted October 19, 2014 Author Share Posted October 19, 2014 He probado tu código rafaelamargo, me funciona la ventana emergente, pero sigue tragandose todo los email esté o no clicado el checkbox, estoy empezando a pensar que debe de tratarse de un problema de tabulación en mi archivo tpl. Me puedes poner tu código con la tabulación que te aparece? Gracias... Link to comment Share on other sites More sharing options...
Recommended Posts