Jump to content

[Résolu] Champ description_short


Recommended Posts

En remplissant une fiche produit, j'ai besoin d'un résumé du produit assez développé pour accrocher l'internaute.. Or, j'ai une erreur qui me mentionne que le champ description_short (Français (French)) est trop long : 400 caractères maximum...
Bon ok. Mon résumé doit faire un peu plus de 400. Comment changer ce chiffre de 400 ? Par exemple, mettre 450 ?
Merci my friends :D

Share this post


Link to post
Share on other sites

Coucou,

( faut poser tes questions sur PSfrance :P )

Mais vu que je suis gentil (ahem... :D) je te donne la solution tout de même !

Fichier "classes/Product.php"
Aux environs de la ligne 300 tu as cette fonction :

public function validateFieldsLang($die = true)
{
   foreach ($this->description_short as $k => $value)
       if (Tools::strlen(strip_tags($value)) > 400)
       {
           if ($die) die (Tools::displayError().' ('.get_class($this).'->description: length > 400 for language '.$k.')');
           return false;
       }
   return parent::validateFieldsLang($die);
}



Il te suffit soit de remplacer le 400 par une autre valeur, soit d'annuler cette condition en remplaçant la fonction par celle-ci :

public function validateFieldsLang($die = true)
{
   return parent::validateFieldsLang($die);
}



J'ai vérifié, et au niveau de la base de données, il n'y a rien à changer ;)

Share this post


Link to post
Share on other sites

Hello Pierres-Yves, pour PSFRANCE, désolé, je fais au plus vite, vu que je vais en plus être en congé bientôt ;)
mais promis, à mon retour, je serai plus actif comme je l'était avant ces derniers jours :)

Share this post


Link to post
Share on other sites

pas encore essayé, je rentrais d'une soirée chez des voisins. Je teste demain matin et remonterai l'info ;)
(je ne l'ai pris que comme il se doit: sans mal ou arrière pensée :) simplement, j'ai vu qu'aujourd'hui ça bougeait sur psfrance, alors si en plus je soutien la démarche - ma signature n'est pas pour faire beau - et que je participe pas à son évolution, c'est pas sérieux de ma part ;) )

Share this post


Link to post
Share on other sites

  • 5 months later...

Bonjour,

J'ai le même soucis avec la nouvelle version Prestashop finale 1.1. (le champ description_short (Français (French)) est trop long : 400...)

J'ai modifié la valeur 400 par une supérieure, mais le problème reste le même.(dans classes/product.php)

Si quelqu'un a la solution, ce serait super!

Share this post


Link to post
Share on other sites

  • 5 months later...

Bonjour,
pour moi c'est le problème inverse, je m'explique. Sur la page d'accueil afin que le design ne bouge pas trop j'aimerais raccourcir le résumé qui est affiché dans homefeatured "notre sélection".

Est ce possible par exemple si nombre de caractère supérieur à 60 caractères mettre "..." pour couper la suite, qui elle serait visible sur la fiche produit?!

D'avance merci

Share this post


Link to post
Share on other sites

Bonjour,

J'ai le même soucis avec la nouvelle version Prestashop finale 1.1. (le champ description_short (Français (French)) est trop long : 400...)

J'ai modifié la valeur 400 par une supérieure, mais le problème reste le même.(dans classes/product.php)

Si quelqu'un a la solution, ce serait super!


j' ai pas mal galéré dessus et j' ai trouvé que en plus il faut modifier le fichier admin\tabs\AdminProducts.php vers la ligne 635 ; ça semble fonctionner.

Share this post


Link to post
Share on other sites

  • 3 years later...

Je confirme ce que troc58 propose "admin\tabs\AdminProducts.php vers la ligne 635 ;".

Merci troc58.

 

NB: J'avais commencé en faisant la même modif dans classes\Product.php mais ça a servi a rien.

 

Fonctionne très bien sur 1.2.5. J'ai mis 700 mais vous pouvez mettre ce que vous voulez.

Notez bien qu'il fat modifier à deux endroits, soulignés ici :

/* Check description short size without html */

foreach ($languages AS $language)

if ($value = Tools::getValue('description_short_'.$language['id_lang']))

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

$this->_errors[] = $this->l('the field').' <b>'.call_user_func(array($className, 'displayFieldName'), 'description_short').' ('.$language['name'].')</b> '.$this->l('is too long').' : 700 '.$this->l('chars max').' ('.$this->l('count now').' '.Tools::strlen(strip_tags($value)).')';

Share this post


Link to post
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More