Hola usuarios de yoelprogramador.com, en esta ocasión quisiera compartir con ustedes un pequeño ajuste que podemos hacer en en script de prestashop 1.6 para que nos permita colocar caracteres especiales en el nombre de producto y también de la categoría. Aunque en el nombre de la categoría no veo mucho la utilidad de usarlo. En mi caso fue más para usar el # en nombre del producto pues era necesario que permita pues en algunos productos que se cargarían en la tienda en el nombre usaban el #. Ej T8200728 #58. Asi que fue muy necesario que hiciera un pequeño cambio para que eso sea posible.
El archivo del prestashop que debemos modificar es la clase Validate.php, este archivo se encuentra en el directorio classes/Validate.php, dentro de ese archivo debemos buscar una función llamada isCatalogName, este se encuentra en la linea 293, pero puede que cambie, por lo que les recomiendo buscar por el nombre de la función.
El siguiente código seria la función isCatalogName.
/** * Check for product or category name validity * * @param string $name Product or category name to validate * @return bool Validity is ok or not */ public static function isCatalogName($name) { return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name); }
Cómo podrán ver es ahí donde se agrega o se quita los caracteres que queremos que sean permitidos, en mi caso yo saque el #.
Como les dije mas arriba, esta función se encarga de validar los caracteres permitidos tanto para el nombre del producto y también las categorías.
Espero que les sea de utilidad.
Saludos