Ben S. Posted September 10, 2009 Share Posted September 10, 2009 Bonsoir,Je viens d'installer Prestashop, que je trouve vraiment très bien conçu.J'ai besoin de créer pour chaque produit un champ dans lequel je souhaite sauvegarder une URL que je ressortirai ensuite dans la fiche produit.Pour attribuer une URL par produit, j'ai pensé à créer une "caractéristique" nommée "URL du produit".Lorsque je saisis un produit, je l'enregistre d'abord à la fin de l'étape 1, puis dans l'onglet "Caract.", j'ai bien un champ "URL du produit" qui est proposé.Si je saisis une URL du type http://www.google.com, ça fonctionne.Si je saisis une URL contenant des paramètres GET, ça déconne (par ex. : http://www.google.com?var=123)Voici le message d'erreur : 2 erreurs 1. le nom de la caractéristique n'est pas valide url_produit en Français (French) 2. Vous n'avez pas la permission d'éditer un objet ici. J'ai tenté de forcer le paramètre htmlOK lors de l'appel à la fonction pSQL dans la méthode addFeatureCustomDB() de la classe "Product", mais en vain...Je me demande si ce n'est pas un genre de protection contre les SQL Injections qui serait à l'origine de ça, mais il doit bien exister d'autres champs qui acceptent des URL dans l'interface de prestashop, non ?Merci d'avance de votre aide.Benoit Link to comment Share on other sites More sharing options...
Ben S. Posted September 11, 2009 Author Share Posted September 11, 2009 Est-ce que quelqu'un peut tester simplement de saisir une URL avec des paramètres GET dans une de ses caractéristiques pour voir si c'est un porblème lors de la déclaration de caractéristiques ou un bug de la plateforme prestashop ?Merci. Link to comment Share on other sites More sharing options...
Ben S. Posted September 11, 2009 Author Share Posted September 11, 2009 Après quelques tests sur la démo du site prestashop, voici les résultats des tests de valeurs qui fonctionnent ou non pour une caractéristique : - apple.fr => OK - www.apple.fr => OK - www.apple.fr?var => OK - http://www.apple.fr => ECHEC : pas de message d'erreur, mais la valeur n'est pas enregistrée - www.apple.fr?var=123 => ECHEC : message d'erreur décrit dans mon billet initial - www.apple.fr?var\=123 => ECHEC : message d'erreur décrit dans mon billet initial - http://www.apple.fr?var => ECHEC : pas de message d'erreur, mais la valeur n'est pas enregistrée - http://www.apple.fr?var=123 => ECHEC : pas de message d'erreur, mais la valeur n'est pas enregistrée - http://www.apple.fr?var=123&var2=456 => ECHEC : pas de message d'erreur, mais la valeur n'est pas enregistrée Pour les 2 dernières versions, j'ai eu le message d'erreur une fois, mais je n'avais alors créé qu'une caractéristique en français, sans donner de nom anglais. Apparemment, maintenant que j'ai les 2 noms, je n'ai plus le message d'erreur mais la valeur s'efface après validation du formulaire.Comment faire alors pour créer un champ texte permettant de saisir une URL pour un produit ? Est-ce que quelqu'un a déjà eu besoin de faire ça ?Faut-il créer un module spécifique ??Je précise que l'URL que je souhaite enregistrer sera affichée sous la forme d'un lien remplaçant le bouton "Ajouter au panier" : ma "boutique" ne fera à priori que de l'affiliation et je ne gère aucun paiement sur ma boutique.Merci de m'éclairer. Link to comment Share on other sites More sharing options...
Ben S. Posted September 11, 2009 Author Share Posted September 11, 2009 Pour info, je teste tout ça sous Firefox sur une version 1.2.3 de Prestashop. Link to comment Share on other sites More sharing options...
kelcible Posted October 12, 2009 Share Posted October 12, 2009 un petit up sur ce sujet,j'ai moi même besoin d'insérer des caractères spéciaux (balises html) dans les valeurs de caractéristiques (FeatureValue)dans la class featurevalue j'ai donc inséré cette ligne protected $fieldsValidateLang = array('value' => 'isCleanHtml'); donc j'ai pas de message d'erreur mais mes balises ne sont pas enregistrées, seules les modifs sur le texte sont prises en compte.Avez-vous une idée ? Link to comment Share on other sites More sharing options...
Ben S. Posted October 12, 2009 Author Share Posted October 12, 2009 Hmm, je n'ai toujours pas eu de réponses à cette question.J'ai ajouté un champ manuellement à la classe produit pour faire ce que j'avais besoin, mais ce n'est qu'une rustine...Dans le bug tracker, ils ont pas compris ma question : ils ont cru que je voulais mettre des caractères spéciaux dans le nom de la feature, or c'est dans sa valeur que l'on a besoin de pouvoir mettre des balises HTML. Ils ont considéré que ce n'était pas un bug... je suis deg. Link to comment Share on other sites More sharing options...
Ben S. Posted October 22, 2009 Author Share Posted October 22, 2009 Je ne sais pas si c'est grâce à la mise à jour vers la version 1.2.4, mais j'ai réussi à enregistrer une URL avec un point d'interrogation dans la valeur d'une caractéristique en remplaçant dans la classe FeatureValue le type de donnée du champ $fieldsValidateLang, comme tu l'as décris Kelcible : protected $fieldsValidateLang = array('value' => 'isCleanHtml'); C'est assez curieux, car je suis presque sûr que j'avais essayé avant et que ça ne marchait pas. Est-ce que tu peux tester ça Kelcible : mettre à jour vers 1.2.4 puis retenter de changer la propriété de la classe FeatureValue ? Link to comment Share on other sites More sharing options...
john74 Posted September 14, 2012 Share Posted September 14, 2012 Pour info en 1.4.7 je rencontre la même erreur lorsque j'insère un point virgule ; est ce que quelqu'un sait ou l'on peut trouver la liste des caractères interdits ou autorisés ? 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