Romain Websenso Posted July 21, 2020 Share Posted July 21, 2020 Bonjour, Depuis une mise à jour récente sur presta 1.7.6.5 ma surcharge de Product pour modifier le validator sur le champ name ne marche plus. Et même en modifiant le validator dans le modèle ça ne change rien (j'ai besoin de pouvoir mettre des > et < dans le nom). J'ai essayé isString ou isAnything mais non. J'ai essayé de dump & die dans les méthode du validator mais elles ne sont pas appelée. Où est ce que c'est géré à présent? ou ais-je raté quelque chose? Link to comment Share on other sites More sharing options...
Eolia Posted July 21, 2020 Share Posted July 21, 2020 La dernière version de Presta utilise Symfony pour le traitement du code, vous pouvez oublier les anciens controleurs et classes Presta. Bon courage^^ Link to comment Share on other sites More sharing options...
Romain Websenso Posted July 21, 2020 Author Share Posted July 21, 2020 Oui je sais, c'est en partie pour le mieux (j'aimais bien pouvoir override tout de même). Là je MAj de 1.7.2 à 1.7.6.5 et il utilise tjr les définitions du modèle comme le "size" alors je me dit que le validator doit être géré qqe part aussi. Link to comment Share on other sites More sharing options...
Romain Websenso Posted July 24, 2020 Author Share Posted July 24, 2020 (edited) J'ai trouvé où c'était géré à présent : Dans le fichier src\PrestaShopBundle\Form\Admin\Product\ProductInformation.php ligne 164. On se trouve la regex qui valide le name. Par contre normalement il doit y avoir un hook appelé pour chaque formulaire des controllers admin : action<AdminControllerName>FormModifier (voir https://devdocs.prestashop.com/1.7/modules/concepts/hooks/list-of-hooks/ ). Mais j'ai beau greffer un module sur actionAdminProductsControllerFormModifier ou actionAdminProductsFormModifier il est jamais trigger. Le hook n'existe pas? rappel je suis en 1.7.6.5. Edited July 24, 2020 by Romain Websenso (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted July 24, 2020 Share Posted July 24, 2020 Comme @Eolia on va patienter qu'un spécialiste de la version 1.7, pardopn, des versions 1.7 avec symfony vienne éclairer nos lanternes car si PrestaShop pousse cette version dans les mains du publique je n'ai pas constaté le moindre support sur ce forum en provenance des pro symfony et de cette 1.7 ... peut être qu'elle n'existe que pour qu'ils puissent faire du business, je ne sais guère. Link to comment Share on other sites More sharing options...
Andriano Posted August 1, 2020 Share Posted August 1, 2020 (edited) Le 21/07/2020 à 10:59 AM, Romain Websenso a dit : (j'ai besoin de pouvoir mettre des > et < dans le nom) Pourquoi faire ? Je ne comprends pas l'utilité, donnez moi un exemple. Edited August 1, 2020 by Andriano (see edit history) Link to comment Share on other sites More sharing options...
Romain Websenso Posted August 3, 2020 Author Share Posted August 3, 2020 C'est pour un client qui vend des produits pour des labo et centre de recherche, les nom des produits sont très technique et certains ont un indice de "pureté" genre ">95%". Link to comment Share on other sites More sharing options...
Andriano Posted August 3, 2020 Share Posted August 3, 2020 Solution : Modifier d'abord : prestashop/classes/validate.php public static function isCatalogName($name) { // return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;=#{}]*$/u'), $name); return preg_match(Tools::cleanNonUnicodeSupport('/^[^;=#{}]*$/u'), $name); } Puis : prestashop\src\PrestaShopBundle\Form\Admin\Product\ProductInformation.php 'constraints' => [ new Assert\Regex([ // 'pattern' => '/[<>;=#{}]/', 'pattern' => '/[;=#{}]/', 'match' => false, ]), new Assert\NotBlank(), new Assert\Length(['min' => 3, 'max' => 128]), ], Il faut ces deux modifications. Si tu regarde bien les "<>" ont été supprimé. Pense toujours à commenter le code d'origine pour revenir à l'ancienne version du code(mets des commentaires pour comprendre pourquoi tu as modifié ces codes afin de t'y retrouver). 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