E-kipper Posted January 23, 2012 Share Posted January 23, 2012 Hola. Para el transportista Mondial Relay (Punto Pack en España) necesito que el número de teléfono que introduce el usuario sea en formato internacional, es decir, con el +34 delante (por el momento sólo venderé en España, más adelante quizás venda fuera) ¿Cómo hacer para que a los 9 dígitos del número de teléfono se añada automáticamente el +34 delante? Había pensado modificar la etiqueta "Teléfono" y añadir texto diciendo que anteponga el +34 y después los 9 dígitos sin espacios. Otra opción sería modificarlo a mano en la base de datos, pero sólo puedo hacerlo si el cliente se registra, y además sería un poco peñazo si tengo muchos clientes. Link to comment Share on other sites More sharing options...
Rolige Posted January 24, 2012 Share Posted January 24, 2012 Quieres anteponer el prefijo a los telefonos que ya tienes o quieres modificar el input del telefono para cuando se registre un cliente ya vea colocado el prefijo "+34"? Link to comment Share on other sites More sharing options...
E-kipper Posted January 24, 2012 Author Share Posted January 24, 2012 Quiero modificar el input para que quede colocado el '+34' delante de los 9 dígitos. Bueno, y por si acaso abro la tienda a otros países, lo ideal sería que antepusiera el prefijo de cada país a los dígitos que teclee el cliente. Link to comment Share on other sites More sharing options...
Rolige Posted January 24, 2012 Share Posted January 24, 2012 Es sencillo, si solo quieres agregar un prefijo el que tu quieras, puedes hacerlo en el archivo authentication.tpl del tema que estas usando "/public_html/themes/tema que estas usando/authentication.tpl", solo cambias un poco el valor del input. Para el Telefono buscas esta linea de codigo: value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" Y remplasala por esta value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}+34{/if}" El +34 que agregue es el prefijo que tu quisieras dejar por default. Lo mismo pudieras hacer para el celular, solo cambia: value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" Por esto: value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}+34{/if}" Ahora que si quisieras agregar un prefijo dependiendo el pais que eligieras tendrias que insertar este un script como este: <script type="text/javascript"> $("#id_country").change(function () { var pais = $("#id_country option:selected").val(); if (pais == 6){ $("#phone").val('+34'); $("#phone_mobile").val('+34'); } //España if (pais == 145){ $("#phone").val('+52'); $("#phone_mobile").val('+52'); } //Mexico }); </script> En "(pais == 6)" el seis es el id del pais en la base de datos y en los dos ".val('+34')" es el codigo que yo quisiera anteponer para ese pais, en este caso los ejemplos que te doy el 6 corresponde a españa por eso puse el prefijo +34 y el pais 145 corresponde a mexico. El script si quiesieras podrias insertarlo despues de los paises, osea despues de esto: <p class="required select"> <label for="id_country">{l s='Country'}</label> <select name="id_country" id="id_country"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'htmlall':'UTF-8'}</option> {/foreach} </select> <sup>*</sup> </p> Con eso es suficiente para que lo que necesitas en el formulario de registro, saludos. Link to comment Share on other sites More sharing options...
E-kipper Posted January 24, 2012 Author Share Posted January 24, 2012 Muchas gracias, aQs. Voy a probar a hacer esos cambios. Pero... (siempre hay un pero ) ¿Cómo se podría hacer para que tomase el prefijo telefónico del país que sea de la propia base de datos? El prefijo telefónico del país es uno de los datos que se guarda en la tabla, y así serviría para toooooodos los países en los que vendiese. Gracias a quien responda. Link to comment Share on other sites More sharing options...
Rolige Posted January 24, 2012 Share Posted January 24, 2012 Si seria interesante, creo que para eso solo habria que modificar algo en FrontController.php, creo que en ese archivo hace la consulta a la base de datos porque en AuthController.php no veo consultas, vere si puedo lograr algo aunque no se mucho de php , por lo pronto puedes usar esa solucion y si alguien mas puede aportar algo se agradeceria. Link to comment Share on other sites More sharing options...
Recommended Posts