lmemin Posted July 20, 2011 Share Posted July 20, 2011 Bonjour,Je dois mettre en ligne des produits de phytothérapie et je souhait utiliser l'onglet caractéristiques pour y mettre leurs composition ainsi que leurs valeur nutritionnelle.Cependant lorsque je veux rentrer en Valeur Personnalisée une composition un peu trop longue, j'ai les messages d'erreur suivants :- le nom pour la caractéristique Largeur est trop long en Français (French)- Vous n'avez pas la permission de changer quelque chose ici.Le message me parait clair, il faudrait que je puisse augmenter la longueur maximum, le problème est que je ne sais pas sur que fichier intervenir. J'ai bien essayer d'aller voir dans les tables SQL mais je n'ai pas trouver.Je vous remercie par avance pour votre réponse.Cordialement Link to comment Share on other sites More sharing options...
Samy_R Posted July 20, 2011 Share Posted July 20, 2011 Pourquoi ne pas utiliser la description longue ? faire des modifications dans la structure de Prestashop est risquée si vous utilisez une version antérieure à la 1.4 Link to comment Share on other sites More sharing options...
lmemin Posted July 20, 2011 Author Share Posted July 20, 2011 Effectivement utiliser la description longue pour mettre ces informations serait une alternative, cependant j'aurais préférer que la description de mon produit apparaisse dans "Description" et que si l'acheteur le souhaite il puisse avoir plus d'informations dans l'onglet "Caractéristiques". Je suis sur la version 1.4 de Prestashop, cependant si la modification s'avérait trop compliquée ou rendant l'ensemble du système instable, je me contenterais de la description longue, ou opterais pour un module permettant de rajouter des onglets.En attendant si vous avez des réponses pour apporter les modifications, ça m'intéresse quand même!!!Cordialement Link to comment Share on other sites More sharing options...
Samy_R Posted July 20, 2011 Share Posted July 20, 2011 Vous pouvez essayer la chose suivante :Copiez le fichier classes/FeatureValue.php dans override/classes/Ensuite modifiez le pour changer la ligne class FeatureValueCore extends ObjectModel en class FeatureValue extends FeatureValueCore Modifiez ensuite la ligne protected $fieldsSizeLang = array('value' => 255); en protected $fieldsSizeLang = array('value' => 5000); Ensuite, dans votre base de données, utilisez la requete suivante (faites un backup avant) : ALTER TABLE `ps_feature_value_lang` CHANGE `value` `value` VARCHAR( 5000 ) Essayez ensuite d'enregistrer des caractéristiques plus longues.Si vous constatez des problèmes de fonctionnement, il vous suffira de supprimer le fichier override/classes/FeatureValue.php 1 Link to comment Share on other sites More sharing options...
lmemin Posted July 21, 2011 Author Share Posted July 21, 2011 Merci pour cette réponse, je viens d'essayer ce matin mais malheureusement ça ne fonctionne pas, l'ajout de nouvelles valeur ne s'affiche pas !! J'ai donc supprimer le fichier override/classes/FeatureValue.php et ça refonctionne.Je vais donc étudier d'autres possibilités et le cas échéant me rabattre sur la description longue !!En tout cas merci pour la rapidité de cette réponde !!Cordialement Link to comment Share on other sites More sharing options...
Nuvish Posted January 9, 2012 Share Posted January 9, 2012 La solution de samy_r fonctionne très bien. Link to comment Share on other sites More sharing options...
Ukoo - Guillaume Posted May 16, 2012 Share Posted May 16, 2012 Je confirme avec une version de PS1.4.7. Link to comment Share on other sites More sharing options...
Airclic Posted March 21, 2013 Share Posted March 21, 2013 Bonjour, comment faire dans la version 1.5 ? Le fichier classes/FeatureValue.php ne contient pas: protected $fieldsSizeLang = array('value' => 255); Link to comment Share on other sites More sharing options...
Airclic Posted March 21, 2013 Share Posted March 21, 2013 (edited) Alors je me répond pour prestashop 1.5 : il faut surcharger la classe FaetureValue.php juste avec la déclaration de definition (ici modifié à 5000 caractères au lieu des 255 ) 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' => 5000), ), ); et modifier le type en "text" du champs "value" dans la table "feature_value_lang". Voilà comment utiliser les caractéristiques en plein text !! Edited March 21, 2013 by Airclic (see edit history) Link to comment Share on other sites More sharing options...
perrauje Posted May 16, 2013 Share Posted May 16, 2013 (edited) EDIT : En fait j'ai trouvé. Il ne faut pas oublier de fermer la balise php en bas du fichier surcharge... Alors que dans fichier original de la classe la balise n'est pas fermée en bas du fichier... Bonjour , Merci pour ta méthode Airclic. Ca marche si je modifie la classe featureValue.php dans le répertoire class\. Mais pas bien, c'est sûr. Mais ça ne marche pas pour moi si je fais cela : 1- je copie class\featureValue.php dans override\classes\featureValue.php 2- je modifie la valeur 255-> 5000 3- je relance l'admin : j'ai le même message. C'est bien comme cela que l'on surcharge cette classe ? D'avance merci de ton aide. Meilleures slts, Jérôme. Edited May 16, 2013 by perrauje (see edit history) Link to comment Share on other sites More sharing options...
perrauje Posted May 16, 2013 Share Posted May 16, 2013 Et en fait non. :/ Ca ne marche pas. Je ne parviens pas à surcharger cette classe. Je suis obligé de modifier la classe de départ. Qqn a t'il une idée? Link to comment Share on other sites More sharing options...
sylbal Posted March 2, 2014 Share Posted March 2, 2014 (edited) réponse un peu tardive, ... en ps-1.5 j'ai réussi à surcharger la classe avec la méthode ci-dessus mais il faut aussi supprimer le fichier [PS_HOME]/cache/class_index.php (faire une sauvegrde, au cas où, ...) ensuite faire F5 dans le navigateur et le fichier est regénéré avec la classe surchargée enregistrée 'FeatureValue' => 'override/classes/FeatureValue.php', 'FeatureValueCore' => 'classes/FeatureValue.php', Edited March 2, 2014 by sylbal (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now