Prestashop: modificare la lunghezza massima dei valori delle funzioni

ATTENZIONE! Il post ha più di 2 anni e le informazioni contenute potrebbero essere obsolete (ad esempio a causa di un aggiornamento di versione rispetto agli elementi descritti o links modificati da siti esterni).

Le funzioni/features impostabili in Prestashop hanno una lunghezza massima di 255 caratteri.
Ma se non bastasse? Capita infatti di dover inserire all'interno della scheda tecnica dei valori di lunghezza maggiore.

Per farlo bisogna fare 2 modifiche: una al database e una nella classe di gestione delle features.

1) MODIFICA DATABASE

Nel database sarà necessario modificare la lunghezza del campo "value" nella tabella "ps_feature_value_lang", impostata come standard a 255 caratteri.
E' possibile farlo da phpMyAdmin andando a modificare direttamente il valore:

Prestashop tabella features

Oppure eseguire la query:

ALTER TABLE `ps_feature_value_lang` CHANGE `value` `value` VARCHAR(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

 

2) MODIFICA SCRIPT

La seconda modifica invece va fatta nella classe che gestisce il salvataggio delle features che si trova in classes/FeatureValue.php, modificando anche qui il limite da 255 a 512 caratteri (o anche di più, ricordandosi di aumentare il valore anche nel database).
Per farlo bisogna cercare il codice seguente, attorno alla riga 50


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' => 255),
    ),
);

E modificare il valore di 'size' portandolo a 512


'size' => 512

Condividi questo post


Commenti