Jump to content

Impossible de modifier L'URL simplifiée sur presta 1.5.2


Jean Francois G

Recommended Posts

Bonjour,

je voudrais savoir si ce problème existe aussi sur vos boutiques en 1.5.2

 

Si je mets une URL simplifiée dans la fiche article, et que je la valide, il est ensuite impossible de la modifier.

 

Je fais la correction, je la valide (en enregistrer et rester, elle semble prise en compte) , puis si apres validation totale de l'article je reviens dessus verifier alors l'URL est revenu comme avant la correction.

 

C'est très très très genant.

 

Ca vous le fait ?

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

Bonjour,

 

J'ai en effet le même problème avec ma boutique en 1.5.2 : à chaque modification de mon article, le système tente de regénérer l'url simplifiée à partir du titre. Sauf que mon titre contient des accents et des ' (apostrophe) ce que le validateur considère comme des caratères non authorisés dans une url !

 

Donc, je serais tenté de dire que nous avons là deux problèmes au lieu d'un :

* non prise en compte de la valeur déjà stockée (il regénère atomatiquement l'url simplifiée à chaque fois)

* la fonction de transformation d'un titre en url simplifiée devrait enlever les caratères non authorisés ou le validateur les accepter

 

Bonne journée.

Link to comment
Share on other sites

Pour être tout à fait complet, je rajouterais un dernier point de tension : quand je valide avec une mauvaise url (contenant des caractères accentués et/ou des apostrophes) il me donne un message d'erreur ("Ce champ URL simplifiée (Français (French)) est invalide"). Jusque là tout est normal. Mais ensuite, si je corrige l'url, il ne veut quand même plus valider mon enregistrement ? Comme si le moteur s'était enrayé ;-(

 

Bien à vous.

Link to comment
Share on other sites

et pourtant, ca ne se modifie pas..

Chose étonnante il n'y a, encore et toujours, pas une seule réaction officielle de programmeurs de prestashop..

Nous avons la un bug confirmé par plusieurs personnes, qui plus est très handicapant, et un vide absolu de la part de la haute sphère prestashop.

L'URL rewriting est une des clés essentielles de l'indexation par google.... Et rien !

Je rouspète pas souvent ici, mais on se sent un peu abandonné en ce moment...

Link to comment
Share on other sites

Bonsoir,

 

Je suis dans le même cas.

Impossible de modifier le menu information sans avoir le message "

Ce champ URL simplifiée (Français (French)) est invalide.

"

Ca me rassure de ne pas être seul avec ce problème mais je suis inquiet de découvrir qu'il n'y a pas de suivi de cette éventuel bug.

 

Je souhaiterais d'ailleurs savoir si il est possible de signalé des bugs aux développeurs autres que sur le forum?

 

 

J'espere que Prestashop n'est pas trop sur le déclin comme certains l'annonce...

 

Cordialement

Link to comment
Share on other sites

Bonjour,

 

Vous avez toujours la possibilité de mettre votre bug en français et faire du Google translate pour l'anglais.

 

Le but de cette outil et de faire participer toute la communauté.

 

Si un anglais ou autre cherche la correction de votre bug, il n'ira jamais sur le forum français...

 

De plus, qui ira corrigé ce bug sur la solution? Comme vous pouvez le voir l'équipe est de moins souvent sur le forum car non seulement elle est très réduite mais elle a aussi beaucoup de bug à traiter sur la forge ;)

 

Loic

Link to comment
Share on other sites

Bonjour,

 

C'est pas un bug c'est bien voulu par prestashop un peu trop en avant garde pour les futurs nom de domaine avec accents genre dédé.fr imaginez demain un nom de domaine avec dédé.fr et un autre site différent avec dede.fr ce que cela va faire ..

 

Quand au référencement Google prend en compte sans problème les accents exemple http://www.google.fr/#q=pédalier&hl=fr&prmd=imvns&ei=

 

mais malheureusement pas encore supporté par tous les navigateurs.

Link to comment
Share on other sites

Pas sur que ce ne soit pas un bug, car que google puisse à la rigueur le gérer, certe (quoi que justement a cause de certains navigateurs ca ne passe pas), mais il serait étonnant qu'il y ait une case pour modifier et qu'elle ne serve a rien..

Et en plus, on a peut être pas envie que le lien s'appelle : la-case-de-l-oncle-tom-volume-5-en-édition-reliée-2012-avec-bonus-spécial.htm, mais simplement livre-oncle-tom-relie.htm , non ?

 

Ou c'est moi qui suit trop exigeant ?

Link to comment
Share on other sites

Bonjour,

 

Rien n'empêche une url simplifiée au lieu de livre-oncle-tom-relie.htm ça sera livre-oncle-tom-relié.htm avec l'accent et référencé sur les moteur de recherche vue par certains navigateur du genre livre-oncle-tom-reli%C3%A9.htm.

 

Le bug n'est pas dans l'accent mais dans la sauvegarde de l'url modifié.

 

De toute façon je sait pas si vous arrivez à créer le sitemap en multiboutique mais chez moi c'est impossible avec la version 1.5.2.0 de prestashop et 6 boutiques.

Link to comment
Share on other sites

ah ben la je suis d'accord, effectivement que l'on veuille des accentué ou non, le bug est dans la sauvegarde de l'URL SImplifiée.

Et vous avez remarqué ? Malgré Le topic en "Hot", et qu'il soit vue environ 300 fois, et bien ???

Et bien toujours le desert quand à la reaction d'un eventuel concepteur pour une explication ou un patch ......

(et la je vais faire rager quelqu'un qui se reconnaitra lol) lol de qui se moque t'on !

Link to comment
Share on other sites

Bonjour à tous,

L'URL que vous entrez est regénérée d'après le nom du produit à chaque fois que vous changer d'onglet dans la fiche produit ou à chaque fois que vous ré ouvrez une fiche produit alors si vous ne voulez plus être ennuyé voici la solution pour ceux qui utilisent la version 1.5 de prestashop et à qui la réecriture d'url basée sur le nom de produit pose problème.

Il suffit d'apostropher les lignes de code 52 à 60 (function copy2friendlyURL) dans le fichier prestashop\js\admin.js :

 

/*function copy2friendlyURL()

{

$('#link_rewrite_' + id_language).val(str2url($('#name_' + id_language).val().replace(/^[0-9]+\./, ''), 'UTF-8').replace('%', ''));

if ($('#friendly-url'))

$('#friendly-url').html($('#link_rewrite_' + id_language).val());

// trigger onchange event to use anything binded there

$('#link_rewrite_' + id_language).change();

return;

}*/

 

En attendant des jours meilleurs cette petite modif vous permet de renseigner ce que vous voulez dans le champ "url simplifiée" de l'onglet référencement.

Link to comment
Share on other sites

Bonjour,

 

C'est effectivement une nouvelle fonctionnalité que PrestaShop à ajouter en 1.5 : la gestion des URL en UTF-8 :)

 

Si vous pensez que ce n'est pas la meilleure des fonctionnalité, voici une solution simple et sans bug :) :

 

Dans le fichier js/admin.js il faut modifier la fonction suivante :

 

function str2url(str,encoding,ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();
str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]\\u00A1-\\uFFFF/g,'');
str = str.replace(/[\u0028\u0029\u0021\u003F\u002E\u0026\u005E\u007E\u002B\u002A\u002F\u003A\u003B\u003C\u003D\u003E]/g,'');
str = str.replace(/[\s\'\:\/\[\]-]+/g,' ');
// Add special char not used for url rewrite
str = str.replace(/[ ]/g, '-');
str = str.replace(/[\/\\"'|,;]*/g, '');
if (ucfirst == 1) {
 var first_char = str.charAt(0);
 str = first_char.toUpperCase()+str.slice(1);
}
return str;
}

 

Par celle existante en 1.4.x :

 


function str2url(str,encoding,ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();
str = str.replace(/[\u0105\u0104\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/g,'a');
str = str.replace(/[\u00E7\u010D\u0107\u0106]/g,'c');
str = str.replace(/[\u010F]/g,'d');
str = str.replace(/[\u00E8\u00E9\u00EA\u00EB\u011B\u0119\u0118\u0117]/g,'e');
str = str.replace(/[\u00EC\u00ED\u00EE\u00EF\u012F]/g,'i');
str = str.replace(/[\u0142\u0141]/g,'l');
str = str.replace(/[\u00F1\u0148]/g,'n');
str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8\u00D3]/g,'o');
str = str.replace(/[\u0159]/g,'r');
str = str.replace(/[\u015B\u015A\u0161]/g,'s');
str = str.replace(/[\u00DF]/g,'ss');
str = str.replace(/[\u0165]/g,'t');
str = str.replace(/[\u00F9\u00FA\u00FB\u00FC\u016F\u016B\u0173]/g,'u');
str = str.replace(/[\u00FD\u00FF]/g,'y');
str = str.replace(/[\u017C\u017A\u017B\u0179\u017E]/g,'z');
str = str.replace(/[\u00E6]/g,'ae');
str = str.replace(/[\u0153]/g,'oe');
str = str.replace(/[\u013E\u013A]/g,'l');
str = str.replace(/[\u0155]/g,'r');
str = str.replace(/[^a-z0-9\s\'\:\/\[\]-]/g,'');
str = str.replace(/[\s\'\:\/\[\]-]+/g,' ');
str = str.replace(/[ ]/g,'-');
str = str.replace(/[\/]/g,'-');
if (ucfirst == 1) {
 c = str.charAt(0);
 str = c.toUpperCase()+str.slice(1);
}
return str;
}

 

Et vous n'aurez plus d'URL avec des accents.

 

PS: concernant les développeur de la Team s'il sont absent du forum, il ne faut pas leur en vouloir :) Il ont des bugs à traiter :)

 

Cordialement,

Loïc.

Link to comment
Share on other sites

Bonjour,

 

J'avais déjà essayé ta méthode mais sur le fait de changer l'url dans le BO ça m'a fait apparaitre à la sauvegarde un button enregistré gris en dessous du textbox avec le même problème de sauvegarde qui remet l'url comme elle était à la base par contre elle est bien modifié sur la toile bizarre

donc j'ai remis comme avant mais mon button est toujours là 'à la sauvegarde'.

Link to comment
Share on other sites

Je ne suis pas développeur prestashop, mais le coup des accents m'emmerde assez.

 

J'ai donc préparé un patch pour ajouter une option dans la partie "Préférences->SEO et Url" une option pour activer ou non les accents avec l'url rewriting:

C'est ici :

http://www.prestasho...g-sans-accents/

Edited by Gehasia (see edit history)
Link to comment
Share on other sites

Bonjour Jean François,

 

Je rencontre le même problème que toi :

 

J'ai effectué une mise à jour de la 1.4.7 à la 1.5.2 tant bien que mal.

Je me retrouve devant le même problème que toi.

J'ai beau changé le champs de l'url sur la fiche produit, le nom du produit est systématiquement généré.

J'aurai aimé savoir si tu as trouvé une solution.

Merci à toi et à tous ceux qui pourront nous apporter de l'aide!

 

A bientôt

Link to comment
Share on other sites

Pour ma part j'ai remarqué que l'url était réinitialisée à chaque fois qu'on enregistre la fiche produit, suite à une modif par exemple.

Si lors de l'enregistrement de la fiche produit, on a écrit la bonne url, elle restera jusqu'à une prochaine modif de la fiche produit.

 

En attendant une màj, il est possible de gérer les produits à base d'import csv, cela ne réinitialise pas les url.

Link to comment
Share on other sites

Arf ! Trop galère avec l'import CSV. Et dans ce cas, autant modifier directement via PHPMyadmin le champs URL. Mais je n'en démordrais pas qu'être obliger de bidouiller comme ça, ca reste super dangereux..

 

Nom di diou ! Je ne comprend pas qu'aucun officiel de prestashop ne s'interresse a ce topic ! ! Pas vous ?

Link to comment
Share on other sites

  • 2 weeks later...

Ca fonctionne nickel ! Pour ma part j'ai commenté l'ensemble de la fonction :

 

/*
product_tabs['Seo'] = new function(){
var self = this;
this.onReady = function() {
 copy2friendlyURL();
 // Enable writing of the product name when the friendly url field in tab SEO is loaded
 $('.copy2friendlyUrl').removeAttr('disabled');
 displayFlags(languages, id_language, allowEmployeeFormLang);
 if (display_multishop_checkboxes)
  ProductMultishop.checkAllSeo();
};
}
*/

 

Ne pas oublier d'effacer le cache et recompiler ensuite pour que ce soit pris en compte ;)

 

Merci de l'info, sined79.

Link to comment
Share on other sites

Bonjour,

 

Merci mais pour moi ça ne marche pas pour moi!

J'ai commenté, vidé cache, recompilé!

 

Je modifie un produit, enregistre et j'ai toujours nom de produit = url

 

Ai je oublié qqchose?

 

Merci pour votre aide

 

Sab

Link to comment
Share on other sites

bonjour,

j'ai exactement le même problème depuis le passage à la 1.5.2.

j'ai tenté de commenté la ligne 485, o le code dans la apge précédente, mais rien n'y fait,

 

j'ai toujours l'url d'un produit => URL simplifiée basée sur le nom du produit

 

A chaque modif d'une fiche produit je dois passer avant d'enregistrer dans la section "SEO" et enlever els accent dans l'url. une fois enregistrée pas d'erreur, mais si je reviens sur la page les accent sont à nouveau présents...

 

c'est vraiment lourd à gérer...

 

et à priori pas de solution qui fonctionne pour tous...

Link to comment
Share on other sites

Bonjour,

 

J'ai pourtant fait le test sur une 1.5.2 et sur la SVN...

 

Tu est sur de n'avoir rien toucher d'autre? D'avoir aucune erreur JS dans ta console d'erreurs?

 

Loic.

 

pour ma part j'ai testé (sans avoir ren changé)

et j'ai toujorus le champ "URL simplifiée :" dans "SEO" qui réapparait avec des accents alos que j'ai enregistré juste avant sans accent...

Link to comment
Share on other sites

Bonjour,

 

Ok pour moi!

Ca marche!

Merci pour votre aide.

Foxalone, pense bien à forcer la compil et mettre non pour le cache, j'ai du actualiser la page BO du produit 3 fois.

Dans la console debug, regarde si la fonction est bien commentée!

 

Sab

Link to comment
Share on other sites

Bonjour,

 

Ok pour moi!

Ca marche!

Merci pour votre aide.

Foxalone, pense bien à forcer la compil et mettre non pour le cache, j'ai du actualiser la page BO du produit 3 fois.

Dans la console debug, regarde si la fonction est bien commentée!

 

Sab

 

Oui j'avais bien plusieurs fois recompliler et cache non activé.

 

je vais retenter encore une fois.

Link to comment
Share on other sites

Et bien il était temps que quelqu'un se penche sur le problème :) Merci à sined79 et rapirapinou pour leur débug.

Il est toutefois malheureux que ce soit un utilisateur qui trouve la soluce à la place des concepteurs, mais ca c'est un autre débat..

D'autres admins presta confirme bien que cette soluce fonctionne ? Ensuite je passerais ce problème a résolu.

Link to comment
Share on other sites

bonjour,

 

en faut tout n'est pas réglé, car si on commente les lignes comme indiqué ok pour le SEO cela fonctionne... l'url "modifiée" est sans accent et ne change plus...

 

/*

product_tabs['Seo'] = new function(){

var self = this;

 

this.onReady = function() {

copy2friendlyURL();

// Enable writing of the product name when the friendly url field in tab SEO is loaded

$('.copy2friendlyUrl').removeAttr('disabled');

 

displayFlags(languages, id_language, allowEmployeeFormLang);

 

if (display_multishop_checkboxes)

ProductMultishop.checkAllSeo();

};

}*/

 

 

mais nous avons un nouveau problème provoqué par le fait d'avoir commenté ces lignes :

 

http://www.prestasho...-produit-grise/

 

ce matin je ne comprenais d'où venait mon nouveau prob... impossible d'ajouter un nouveau produit car le "nom produit" devient grisé à cause de cette modification....

 

Qui s'y connaitrait assez pour éviter cela et corriger aussi le problème des accent du champ "url modifiée" ?

 

on corrige un problème, on en provoque un autre ailleurs...

 

donc pour ma part je vais devoir faire avec le problème SEO... et avant chaque enregistrement d'un produit ou d'une déclinaison revenir au SEO et re écrire l'url modifiée sans accent...

Edited by Foxalone (see edit history)
Link to comment
Share on other sites

Tu veux dire qu'avec ta solution, ça laisse les accents par défaut lors de la création de l'article, mais que l'on peut modifier l'URL et que ça prend bien en compte les modifs ?

Parce que si c'est cela, c'est carrément ce qui était demandé.. :)

 

Par ce que pour ceux qui veulent des accents, mais des urls plus courte => ce serait ok

Ceux qui ne veulent pas d'accent pourrait alors les enlever manuellement et enregistrer les modifs => ok

 

Tu confirme ça ?

Edited by Jean Francois G (see edit history)
Link to comment
Share on other sites

  • 2 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...