2017-07-06 2 views
0

Quels fichiers dois-je ajuster ou remplacer pour que prestashop 1.7 utilise le symbole # dans les titres de produits?Comment remplacer prestashop 1.7 pour autoriser le # dans les titres de produit

J'ai cherché sur Google et essayé différentes méthodes qui fonctionnaient dans les versions précédentes de prestashop (comme éditer le fichier validate.php, etc.) mais aucune d'entre elles ne faisait aucune différence. J'ai demandé cela sur le forum prestashop, et on m'a dit qu'ils ne recommandaient pas de le remplacer parce qu'il s'agissait d'une balise html, et qu'on m'a dit d'utiliser le symbole musical pour sharp, j'ai alors demandé ce que cela ferait pour la recherche Le résultat est que les gens recherchent en utilisant le symbole hashtag pas le symbole musical et pourquoi d'autres plateformes comme shopify (qui est pratiquement identique) ne mettent pas la même restriction en place et maintenant personne n'en parle.

Veuillez noter que je suis novice en matière de codage, donc un guide étape par étape serait génial. J'ai essayé d'être aussi détaillé que possible, mais si quelqu'un a besoin de plus d'informations s'il vous plaît demander.

Comme demandé dans le commentaire, voici le lien vers la question du forum prestashop. https://www.prestashop.com/forums/topic/617693-how-do-i-use-in-product-title/

+0

Bienvenue à SO! "J'ai demandé cela sur le forum prestashop" - peut-être une bonne idée d'inclure un lien vers cette question. – user5226582

+0

@ utilisateur5226582 merci pour la suggestion, j'ai maintenant inclus le lien vers la question que j'ai posée sur prestashop. – Zanriken

Répondre

0

Laissez le symbole # dans le champ Nom du produit/Titre PrestaShop V1.5 +

je suis tombé sur cette même question. Vous pouvez résoudre ce problème en créant un remplacement simple. En procédant de cette manière, les mises à jour de Prestashop seront installées et fonctionneront comme vous le souhaitez. Cela ne changera pas le code principal primaire, il étend simplement une seule fonction.

Créez un nouveau fichier et nommez-le Validate.php - Collez le suivant dans celui-ci.

<?php 
class Validate extends ValidateCore 
{ 
    /** 
    * Check for product or category name validity 
    * 
    * @param string $name Product or category name to validate 
    * @return bool Validity is ok or not 
    */ 
    public static function isCatalogName($name) 
    { 
     return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;={}]*$/u'), $name); 
    } 
} 

Ce nouveau fichier doit ensuite être enregistré/téléchargé sur. /override/classes/Validate.php

Etape finale: Vous devez supprimer le seul fichier: /cache/class_index.php du serveur. Ce fichier sera ensuite recréé automatiquement lors du prochain chargement de votre zone d'administration. Le nouveau class_index contiendra votre nouveau remplacement, et vous pouvez commencer à ajouter des produits aveC# caractère dans le nom du produit.

C'est tout!

En savoir plus sur creating overrides in Prestashop. Si vous hésitez à supprimer le fichier class_index.php, ne vous inquiétez pas, c'est très courant. You can read about deleting that file here.

0

La seule solution que j'ai trouvé est de modifier un modèle dans ce fichier:

\ src \ PrestaShopBundle \ Form \ Admin \ produit \ ProductInformation.php

à la ligne 145 changement

pattern' => '/[<>;=#{}]/' 

à

pattern' => '/[<>;={}]/'

Ho pe cette aide. Cheers