djmortis Posted May 21, 2014 Share Posted May 21, 2014 (edited) Buenas, quiero hacer lo siguiente para que los clientes a la hora de registrarse seleccionen este formulario. Es un combobox de 3 niveles, provincias, localidades, centros. http://libreria.tulibrodefp.es/centros/ Hay 3 tablas con la información de los 3 campos. ps_provincias con los campos id, provincias ps_localidades con los campos id, relacion, localidades ps_centros con los campos id, relacion, centros Y cuando el usuario seleccione se ha de enviar con su infromación, tengo creados 3 campos en ps_customers que son provcentros, localcentros, centros Fuera como veis funciona a la perfección, pero no se como añadirlo al formulario de registro de prestashop. Gracias Edited May 28, 2014 by djmortis (see edit history) Link to comment Share on other sites More sharing options...
Rolige Posted May 21, 2014 Share Posted May 21, 2014 Pues tomar como referencia el mismo authentication.tpl del tema para que te des una idea de como podría ir el código. Link to comment Share on other sites More sharing options...
djmortis Posted May 21, 2014 Author Share Posted May 21, 2014 Si, si añadir campos ya he añadido, lo que no se es como hacer el llamamiento a esas tablas y poner el javascript para hacer funcionar la vinculación entre campos, no se por donde empezar. Link to comment Share on other sites More sharing options...
Rolige Posted May 21, 2014 Share Posted May 21, 2014 Bueno es que si necesita algo de codigo, para darte una idea, debes agregar a smarty las variables que vas a manipular ahi, puedes generarlas en el archivo AuthController.php ya sea en el core o en override, tambien podrias generarlas mediante un modulo. Si lo haces mediante modulo, pues podrias añadirle el js que te ayudaria a hacer las selecciones, tal como funciona actualmente el de paises > provincias Link to comment Share on other sites More sharing options...
djmortis Posted May 21, 2014 Author Share Posted May 21, 2014 No hay forma, me pierdo, tienes un privado COTOKO. Gracias por tu ayuda. Link to comment Share on other sites More sharing options...
djmortis Posted May 28, 2014 Author Share Posted May 28, 2014 Solucionado, no es la mejor forma, pero es la única que se, pedi presupuesto y al final me pedían entre 100 y 400€, así que decidí intentarlo yo aunque me costará la vida, xDD En authentification.tpl añado... <script type="text/javascript"> function slctr(texto,valor){ this.texto = texto this.valor = valor } var valencia=new Array() valencia[0] = new slctr('- -Valencia- -') valencia[1] = new slctr("Sedavi",'sedavi') valencia[2] = new slctr("Alfafar",'alfafar') var alicante=new Array() alicante[0] = new slctr('- -Alicante- -') alicante[1] = new slctr("Elda",'elda') alicante[2] = new slctr("Novelda",'novelda') //*******Nietos******************* var sedavi = new Array() sedavi[0] = new slctr('- -Sedavi- -') sedavi[1] = new slctr("centro 1 sedavi",null) sedavi[2] = new slctr("centro 2 sedavi" ,null) var alfafar = new Array() alfafar[0] = new slctr('- -Alfafar- -') alfafar[1] = new slctr("alfafar",null) alfafar[2] = new slctr("alfafar",null) var elda = new Array() elda[0] = new slctr('- -Elda- -') elda[1] = new slctr("Centro 1 Elda",null) elda[2] = new slctr("Centro 2 Elda" ,null) var novelda = new Array() novelda[0] = new slctr('- -Novelda- -') novelda[1] = new slctr("Centro 1 Novelda",null) novelda[2] = new slctr("Centro 2 Novelda" ,null) function slctryole(cual,donde){ if(cual.selectedIndex != 0){ donde.length=0 cual = eval(cual.value) for(m=0;m<cual.length;m++){ var nuevaOpcion = new Option(cual[m].texto); donde.options[m] = nuevaOpcion; if(cual[m].valor != null){ donde.options[m].value = cual[m].valor } else{ donde.options[m].value = cual[m].texto } } } } </script> <form name="form1" method="post" action=""> <select name="select" onchange="slctryole(this,this.form.select2)"> <option>- - Seleccionar - -</option> <option value="valencia">valencia</option> <option value="sedavi">sedavi</option> </select> <select name="select2" onchange="slctryole(this,this.form.select3)"> <option>- - - - - -</option> </select> <select name="select3"> <option>- - - - - -</option> </select> </form> Después en ps_customer creo los campos select, select2 y select3 En AuthController.php añado... $select = $_POST['select']; $select2 = $_POST['select2']; $select3 = $_POST['select3']; $customer->select = $select; $customer->select2 = $select2; $customer->select3 = $select3; $this->context->cookie->customer_select = $customer->select; $this->context->cookie->customer_select2 = $customer->select2; $this->context->cookie->customer_select3 = $customer->select3; $select= Tools::getValue('select'); $select2= Tools::getValue('select2'); $select3= Tools::getValue('select3'); Y en customer.php public $select; public $select2; public $select3; 'select' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), 'select2' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), 'select3' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), Solucionado. Link to comment Share on other sites More sharing options...
Recommended Posts