TechnoSpain Posted February 22, 2014 Share Posted February 22, 2014 (edited) Buenos dias Pues este es el problema, muchos clientes nuestros tienen direcciones de facturacion que contienen mumeros en el nombre al ser de sociedades, marcas comerciales, etc y el formulario de registro no lo admite ¿Como se puede solucionar? me extraña que esto no venga ya solucionado a estas alturas de prestashop pero no doy con la tecla Saludos Carlos Edited August 26, 2014 by TechnoSpain (see edit history) Link to comment Share on other sites More sharing options...
TechnoSpain Posted February 24, 2014 Author Share Posted February 24, 2014 Buenas tardes Me pregunto si alguien a tenido este mismo problema/ bug Link to comment Share on other sites More sharing options...
Javier Barcelona Posted February 24, 2014 Share Posted February 24, 2014 Pues tienes razón, acabo de probar en un PrestaShop 1.5.3.1 y tampoco se puede, da error. Me uno a la petición de TechnoSpain... Link to comment Share on other sites More sharing options...
TechnoSpain Posted February 24, 2014 Author Share Posted February 24, 2014 Es muy raro... Me extraña que nadie tenga empresas que se registren con este tipo de nombre que contenga numeros Link to comment Share on other sites More sharing options...
TechnoSpain Posted March 4, 2014 Author Share Posted March 4, 2014 Buenas...una subidita a ver si algún alma se apiada de nosotros Link to comment Share on other sites More sharing options...
jesa Posted March 4, 2014 Share Posted March 4, 2014 TechnoSpain pesao!! es broma A ver si os puede servir. En la carpeta clases tenéis el Validate.php donde vienen todas las validaciones que hace prestashop o donde deberían estar todas a nivel de campos de formularios. En este caso que son clientes, en la clase Customer.php están definidos los campos del cliente y bajando encontrareis una variable $definition donde están todos los campos definidos. Ahí tenéis la validación que hace del campo que se corresponderá con el nombre de un método de la clase Validate.php A partir de ahí hay varias opciones, modificar ese método para que acepte números o crear otro método nuevo que acepte números. Lo de crear el método nuevo sería lo suyo ya que normalmente ese método validará otros campos que puede que no os interesen los números. Link to comment Share on other sites More sharing options...
TechnoSpain Posted March 4, 2014 Author Share Posted March 4, 2014 TechnoSpain pesao!! es broma A ver si os puede servir. En la carpeta clases tenéis el Validate.php donde vienen todas las validaciones que hace prestashop o donde deberían estar todas a nivel de campos de formularios. En este caso que son clientes, en la clase Customer.php están definidos los campos del cliente y bajando encontrareis una variable $definition donde están todos los campos definidos. Ahí tenéis la validación que hace del campo que se corresponderá con el nombre de un método de la clase Validate.php A partir de ahí hay varias opciones, modificar ese método para que acepte números o crear otro método nuevo que acepte números. Lo de crear el método nuevo sería lo suyo ya que normalmente ese método validará otros campos que puede que no os interesen los números. Genial. el problema es que no se crear un clase nueva.. Link to comment Share on other sites More sharing options...
TechnoSpain Posted March 4, 2014 Author Share Posted March 4, 2014 Estoy mirando en customer.php y veo esto: public static $definition = array( 'table' => 'customer', 'primary' => 'id_customer', 'fields' => array( 'secure_key' => array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false), 'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'email' => array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 128), 'passwd' => array('type' => self::TYPE_STRING, 'validate' => 'isPasswd', 'required' => true, 'size' => 32), 'last_passwd_gen' => array('type' => self::TYPE_STRING, 'copy_post' => false), 'id_gender' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'), 'newsletter' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'newsletter_date_add' => array('type' => self::TYPE_DATE,'copy_post' => false), 'ip_registration_newsletter' => array('type' => self::TYPE_STRING, 'copy_post' => false), 'optin' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'website' => array('type' => self::TYPE_STRING, 'validate' => 'isUrl'), 'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'), 'siret' => array('type' => self::TYPE_STRING, 'validate' => 'isSiret'), 'ape' => array('type' => self::TYPE_STRING, 'validate' => 'isApe'), 'outstanding_allow_amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'copy_post' => false), 'show_public_prices' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'id_risk' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false), 'max_payment_days' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false), 'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'note' => array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'size' => 65000, 'copy_post' => false), 'is_guest' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false), 'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false), 'id_shop_group' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false), 'id_default_group' => array('type' => self::TYPE_INT, 'copy_post' => false), 'id_lang' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false), Link to comment Share on other sites More sharing options...
Feliz Garcia Posted March 14, 2014 Share Posted March 14, 2014 Esto: 'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), es nombre y apellidos del cliente Quizas cambiando el: 'validate' => 'isName' por 'validate' => 'isString' se lo trage.... De todos modos, a ti te interesa el nombre del cliente en la dirección del cliente ¿no? Entonces creo que en ese caso, creo que es en la clase: Address.php Donde veras que tambien tienes esto: 'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), ---- Aunque mejor seria hacer un override... De todos modos, no estoy seguro si te refieres al nombre y apellidos u a otra cosa. 1 Link to comment Share on other sites More sharing options...
TechnoSpain Posted August 26, 2014 Author Share Posted August 26, 2014 Hola Resubo porque sigo con el mismo problema y deje a Feliz Garcia sin respuesta..mil perdones Como bien dices, necesito que en las direcciones se pueda poner en nombre y apellidos numeros, ya que muchas empresas su nombre lo lleva, p.e: Asesoria Lopez 2013 SL En nombre puedes poner Asesoria Lopez Pero en apellidos si pones 2013 SL da error...(o viceversa, el campo solo admite letras) https://drive.google.com/file/d/0B87xh9T9mqZqRUk5clFEOHppVUE/edit?usp=sharing Necesito que este campo sea del tipo "general" no solo alfabético Link to comment Share on other sites More sharing options...
Fernando91 Posted August 26, 2014 Share Posted August 26, 2014 self::TYPE_TEXT Link to comment Share on other sites More sharing options...
TechnoSpain Posted August 26, 2014 Author Share Posted August 26, 2014 Y eso donde lo pongo? Link to comment Share on other sites More sharing options...
Fernando91 Posted August 26, 2014 Share Posted August 26, 2014 'firstname' => array('type' => self::TYPE_TEXT), prueba así Link to comment Share on other sites More sharing options...
ventura Posted August 26, 2014 Share Posted August 26, 2014 Ve al archivo classes/Validate.php Busca esto public static function isName($name) { return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!<>,;?=+()@#"°{}_$%:]*$/u'), stripslashes($name)); } Y lo dejas asi public static function isName($name) { return preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>,;?=+()@#"°{}_$%:]*$/u'), stripslashes($name)); } Link to comment Share on other sites More sharing options...
TechnoSpain Posted August 26, 2014 Author Share Posted August 26, 2014 Gracias amigos Tuve que salir lo pruebo en un rato La verdad es que es un bug tonto pero que molesta lo suyo Link to comment Share on other sites More sharing options...
TechnoSpain Posted August 26, 2014 Author Share Posted August 26, 2014 (edited) duplicado Edited August 26, 2014 by TechnoSpain (see edit history) Link to comment Share on other sites More sharing options...
TechnoSpain Posted August 26, 2014 Author Share Posted August 26, 2014 Ve al archivo classes/Validate.php Busca esto public static function isName($name) { return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!<>,;?=+()@#"°{}_$%:]*$/u'), stripslashes($name)); } Y lo dejas asi public static function isName($name) { return preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>,;?=+()@#"°{}_$%:]*$/u'), stripslashes($name)); } Funciona, ya admite los números Edito y pongo como solucionado! Gracias! Link to comment Share on other sites More sharing options...
laiaxarau Posted July 6, 2016 Share Posted July 6, 2016 (edited) Genial, Muchas gracias ventura por tu respuesta y Technospain por abrir la discusión. Funciona perfectamente, también en Prestashop 1.6.1.5 Gracias, Gracias! Edited July 6, 2016 by laiaxarau (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts