beber59 Posted October 10, 2011 Share Posted October 10, 2011 Bonjour J'ai activé la réécriture d'url sur ma boutique Prestashop mais les accents tronquent mes urls. Quand je n'ai pas d'accent dans mon url, ca fonctionne bien mais dans le cas contraire mon url se coupe. Exemple: MonSite.com/MaCategorie/bient-les-vacances alors que je voudrais ../bientot-les-vacances Savez-vous ou se situe la gestion de la réécriture des urls. Idéalement j'aimerais pouvoir compléter la règle actuelle en indiquant les caractères à remplacer dans chaque cas (é=>e, ô =>o, etc) - Version Prestashop : 1.4.0 customisée - Hébergement : OVH mutulualisé Merci d'avance Bertrand Link to comment Share on other sites More sharing options...
Ether Création Posted October 17, 2011 Share Posted October 17, 2011 Bonjour, Normalement c'est gérer automatiquement.... Sauf erreur de ma part ! Arthur Link to comment Share on other sites More sharing options...
jeckyl Posted October 17, 2011 Share Posted October 17, 2011 Bonjour, lorsque vous créez un produit, l'url simplifiée se génère automatique à l'aide d'un javascript. Mais vous pouvez tout à fait la modifier par vous même en affichant l'espace SEO dan la fiche produit Link to comment Share on other sites More sharing options...
mmsh Posted November 21, 2011 Share Posted November 21, 2011 Savez-vous ou se situe la gestion de la réécriture des urls. Idéalement j'aimerais pouvoir compléter la règle actuelle en indiquant les caractères à remplacer dans chaque cas (é=>e, ô =>o, etc) bonsoir, c'est un problème intéressant pour moi. Réfrigérateurs et congélateurs 427-r--frig--rateurs-et-cong--lateurs ...Je n'aime pas parce que les développeurs n'ont pas pensé à remplacer toutes les lettres accentuées et caractères spéciaux avec les normal caractères correspondants? 427-refrigerateurs-et-congelateurs aucun d'entre vous savez comment faire? Merci beaucoup Link to comment Share on other sites More sharing options...
abardon Posted November 21, 2011 Share Posted November 21, 2011 Bonjour, Dans le back office, allez sur chaque fiche produit, affichez l'espace SEO puis : - remplacez tous les accents par la version sans accent - raccourcissez toutes les URL en supprimant les segments de type -de- -l'- -la- (stopwords) Link to comment Share on other sites More sharing options...
mmsh Posted November 21, 2011 Share Posted November 21, 2011 pardon, et avec 10.000 produits???? Peut-être que vous n'êtes pas sérieux? Seulement une méthode automatique est possible. Je pense que quelque chose doit être ajouté dans .htaccess mais je ne savez pas la chaîne exacte...ou dans la fonction qui gère SEO URLs. Merci Link to comment Share on other sites More sharing options...
jeckyl Posted November 21, 2011 Share Posted November 21, 2011 Bonjour, le soucis d'accents que vous rencontrez n'est pas normal car la génération des url simplifiées prend en compte cela cas des accents en français (la moindre des choses pour un script français tout de même). Donc, je ne sais pas si vous utilisez la dernière version de Prestashop, mais peut être pourriez vous regarder de ce côté là dans un premier temps afin de corriger ce bug que vous rencontrez. Link to comment Share on other sites More sharing options...
mmsh Posted November 21, 2011 Share Posted November 21, 2011 J'utilise la version 1.4.3 .... un problème? Que dois-je changer? mes URLs sont pleines de ---- au lieu de caractères accentués ou spéciaux Link to comment Share on other sites More sharing options...
botmez Posted December 3, 2012 Share Posted December 3, 2012 Des solutions bordel ? Link to comment Share on other sites More sharing options...
labelandco Posted December 4, 2012 Share Posted December 4, 2012 Des solutions bordel ? J'ose espérer que c'est de l'humour au second degré ? Link to comment Share on other sites More sharing options...
frederic34 Posted March 27, 2013 Share Posted March 27, 2013 Bonjour J'ai modifié ainsi Tools.php (dans classes) c'est censé remplacer les é par e, etc mais ça ne doit pas marcher pour tout le monde (ni pour moi) Fred /** * Replace all accented chars by their equivalent non accented chars. * * @param string $str * @return string */ public static function replaceAccentedChars($str) { $patterns = array( /* Lowercase */ '/[\x{0105}\x{00E0}\x{00E1}\x{00E2}\x{00E3}\x{00E4}\x{00E5}]/u', '/[\x{00E7}\x{010D}\x{0107}]/u', '/[\x{010F}]/u', '/[\x{00E8}\x{00E9}\x{00EA}\x{00EB}\x{011B}\x{0119}]/u', '/[\x{00EC}\x{00ED}\x{00EE}\x{00EF}]/u', '/[\x{0142}\x{013E}\x{013A}]/u', '/[\x{00F1}\x{0148}]/u', '/[\x{00F2}\x{00F3}\x{00F4}\x{00F5}\x{00F6}\x{00F8}]/u', '/[\x{0159}\x{0155}]/u', '/[\x{015B}\x{0161}]/u', '/[\x{00DF}]/u', '/[\x{0165}]/u', '/[\x{00F9}\x{00FA}\x{00FB}\x{00FC}\x{016F}]/u', '/[\x{00FD}\x{00FF}]/u', '/[\x{017C}\x{017A}\x{017E}]/u', '/[\x{00E6}]/u', '/[\x{0153}]/u', /* Uppercase */ '/[\x{0104}\x{00C0}\x{00C1}\x{00C2}\x{00C3}\x{00C4}\x{00C5}]/u', '/[\x{00C7}\x{010C}\x{0106}]/u', '/[\x{010E}]/u', '/[\x{00C8}\x{00C9}\x{00CA}\x{00CB}\x{011A}\x{0118}]/u', '/[\x{0141}\x{013D}\x{0139}]/u', '/[\x{00D1}\x{0147}]/u', '/[\x{00D3}]/u', '/[\x{0158}\x{0154}]/u', '/[\x{015A}\x{0160}]/u', '/[\x{0164}]/u', '/[\x{00D9}\x{00DA}\x{00DB}\x{00DC}\x{016E}]/u', '/[\x{017B}\x{0179}\x{017D}]/u', '/[\x{00C6}]/u', '/[\x{0152}]/u'); $replacements = array( 'a', 'c', 'd', 'e', 'i', 'l', 'n', 'o', 'r', 's', 'ss', 't', 'u', 'y', 'z', 'ae', 'oe', 'A', 'C', 'D', 'E', 'L', 'N', 'O', 'R', 'S', 'T', 'U', 'Z', 'AE', 'OE' ); $accents = array('é','è','ê','ë','à','â','ï','î','ô','ó','û','ù','ç','€','ñ','É','È','Ë','Ê','Ç','Ï','º','Ô'); $no_accents = array('e','e','e','e','a','a','i','i','o','o','u','u','c','E','n','E','E','E','E','C','I','o','O'); //return preg_replace($patterns, $replacements, $str); return preg_replace($accents, $no_accents, $str); } Link to comment Share on other sites More sharing options...
Recommended Posts