A PHP Error was encountered

Severity: Notice

Message: Only variable references should be returned by reference

Filename: core/Common.php

Line Number: 257

Como Aumentar La Longitud De La Descripción Corta En Prestashop. PrestaShop. Run Software.

Como aumentar la longitud de la descripción corta en Prestashop

Recientemente nos comunicaba un cliente un error en PrestaShop, resulta que cada vez que quería hacer una modificación a cualquier referencia de su catálogo, a la hora de actualizar, PrestaShop le daba el siguiente mensaje de error.

error, el campo description_short(Español (Spanish)) es demasiado largo: 400 caracteres máximos (contar ahora XXX) 

Siendo XXX el número de caracteres que tuviera la descripción breve de la referencia que estaba modificando en ese momento, y evidentemente siendo XXX mayor que 400.

Nuestra primera pregunta era, como es posible que si la longitud máxima de la descripción corta es 400 carácteres, esas referencias tuviesen más de 400 caracteres. 

La respuesta es simple, esas referencias no se dieron de alta de forma manual por el formulario de prestashop, todas las referencias de este cliente se dieron de alta con la opción de importación de prestashop en formato CSV, y por lo que se ve, el control de la longitud de la descripción corta en ese controlador, 800 caracteres, es distinto al que se emplea en el formulario de alta-modificación de artículos en prestashop.

error prestashop longitud descripción breve

Como aumentar la longitud de la descripción corta en prestashop siendo la longitud máxima 800 caracteres, segun se indica en el fichero classes/Product.php.

Primeramente nos dirigimos al archivo admin\tabs\AdminProducts.php y reemplazamos en la siguiente instrucción, el 400 por la longitud que necesitamos.

if (Tools::strlen(strip_tags($value)) > 400)

y en el archivo classes/Product.php reemplazamos el 400 por la longitud de caracteres que necesitamos.

if (Tools::strlen(strip_tags($value)) > 400)

{

if ($die) die (Tools::displayError().' ('.get_class($this).'->description: length > 400 for language '.$k.')');

return $errorReturn ? get_class($this).'->'.Tools::displayError('description: length > 400 for language').' '.$k : false;

}

En la versión 1.4.6 en adelante, en vez de los códigos anteriormente mencionados, nos encontrariamos con los siguientes.

En el archivo admin\tabs\AdminProducts.php y reemplazamos en la siguiente instrucción, el 400 por la longitud que necesitamos.

if ($limit <= 0)  $limit = 400;

y en el archivo classes/Product.php reemplazamos el 400 por la longitud de caracteres que necesitamos.

if ($limit <= 0)

$limit = 400;

 

 

Y recuerda, si te ha sido de utilidad, compártelo.