Aumentar el número de caracteres permitidos de las características de Prestashop
En ester artículo vamos a ver como aumentar o ampliar el número de caracteres permitidos de las características de los productos de Prestashop.
Las características de un producto de Prestashop son una opción para añadir información extra sobre los productos guardándose como elementos de la ficha técnica. Por ejemplo, si tenemos una tienda de productos químicos (cremas, aceites…), posibles características de los productos podrían ser: como trabaja, modo de aplicación, ingredientes, tipo de piel,…
Bien, el Prestashop tan solo permite añadir 255 caracteres a las características de los productos. Para ampliar este valor deberemos acceder a la base de datos con un programa como phpMyAdmin o Heidi SQL o cualquier otro y localizar la tabla «ps_featured_value_lang», observaremos que el campo value que es donde se guarda el texto de las características tiene un formato varchar(255). Este campo lo deberíamos editar ampliándolo por ejemplo a 1024 caracteres.
Ahora, deberemos saber que en los archivos de la tienda dentro de la carpeta classes/ tenemos una clase llamada FeatureValue dentro del archivo FeatureValue.php. No modificaremos directamente este fichero, sino que haremos las cosas bien y localizaremos la carpeta /overrides para sobrescribir esta clase.
Crearemos un archivo llamado FeatureValue.php que guardaremos dentro de overrides/classes/ con el siguiente contenido:
public static $definition = array(
'table' => 'feature_value',
'primary' => 'id_feature_value',
'multilang' => true,
'fields' => array(
'id_feature' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'custom' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
// Lang fields
'value' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 1024),
),
);
Lo único que estamos haciendo es cambiar un valor del array $definition, el lang fields, cambiamos lo siguiente:
// Lang fields
'value' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 255),
Por:
// Lang fields
'value' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 1024),
Y en principio, ya podrás subir características de los productos con caracteres inferiores a 1024, como es en el caso de este ejemplo.
Deja una respuesta