Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ad-inserter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the cookie-law-info domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114
Prestashop tips: Risolvere "lunghezza campo nome must be between 0 and 128" - Blog WebEats

Ecco una breve guida che spiega come modificare a livello di database e codice PHP la lunghezza massima dei campi meta_title e name in ps_product_lang

Questa sera giocando con CSV di prodotti da importare su PrestaShop, mi sono imbattuto in un piccolo problema di “lunghezza campo” ed ho deciso di scrivere questa breve guida da inserire nella rubrica PrestaShop tips.

L’errore che si presenta nell’import del CSV è il seguente:

Property Product->name length (132) must be between 0 and 128

PrestaShop infatti di default ha i campi della tabella ps_product_lang impostati nel seguente modo: meta_title (128 chars) e name (128 chars)

Vediamo come procedere per aggirare facilmente questa limitazione.

Prima di tutto è necessario modificare la lunghezza dei campi nella tabella ps_product_lang direttamente con PHPMyAdmin, e portarla ad esempio a 140.

Prestashop tips: Risolvere "lunghezza campo nome must be between 0 and 128"
Prestashop tips: Risolvere “lunghezza campo nome must be between 0 and 128”

Ora è necessario aprire il file classes/Product.php e troveremo le seguenti righe rispettivamente a #318 e #330 (ovviamente possono variare con le versioni di PrestaShop)

....
'meta_title' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 128),
......
'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => true, 'size' => 128),
....

Non ci resta che modificare il valore ‘size’ => 128 in ‘size’ => 140, salvare e ricaricare il file nella cartella classes.

Attenzione: Vi ricordo che dopo un update di PrestaShop, ad esempio dalla versione 1.6.1.1 ad una eventuale 1.6.1.2, il file Product.php locato in classes, viene rimpiazzato dalla nuova versione, quindi la modifica fatta viene persa.