dan_ Posted June 12, 2013 Share Posted June 12, 2013 Bonjour, J'essaye (en vain jusqu'à présent) d'aider un ami qui a une boutique prestashop 1.5. Son problème est le suivant : - il a sa boutique qui tourne sur 1.5, et commence a etre bien référencé chez google et autres - il a envie d'ajouter des langues (il n'était qu'en FR jusqu'à présent) - à l'ajout d'une langue, un sous-dossier pour la langue s'ajoute (www.monsite.com/fr/mapage.php ou www.monsite.com/en/mapage.php) J'ai cherché sur le net comment virer ça, et j'ai trouvé ce tuto pour presta 1.4: http://www.magavenue.com/blog/prestashop/supprimer-sous-dossier-fr-prestashop-14 J'ai essayé de reproduire et adapter à la 1.5, mais sans succès... J'ai modifié setCookieLanguage, switchLanguage, loadRoutes, et d'autres sans succès... Si quelqu'un pouvait m'aider, ca serait super sympa! Merci!!!! Link to comment Share on other sites More sharing options...
Prestaspirit Posted June 12, 2013 Share Posted June 12, 2013 Bonjour, Le plus simple pour résoudre votre problème sur une 1.5 c'est d'utiliser le multiboutique et les domaines en .com et .fr, vous n'aurez plus ce souci. Link to comment Share on other sites More sharing options...
dan_ Posted June 13, 2013 Author Share Posted June 13, 2013 Bonjour Franck, Merci pour la réponse... Mais n'existe pas une autre solution (même un module payant, je pense que mon ami serait ok pour payer un prix raisonnable) Merci!!! Link to comment Share on other sites More sharing options...
dekaa Posted July 16, 2013 Share Posted July 16, 2013 Bonjour, J'ai le même besoin avez-vous trouvez une solution? Merci. Link to comment Share on other sites More sharing options...
dekaa Posted July 16, 2013 Share Posted July 16, 2013 Bonjour, J'ai le même besoin avez-vous trouvez une solution? Merci. Link to comment Share on other sites More sharing options...
dekaa Posted July 16, 2013 Share Posted July 16, 2013 Bonjour, J'ai le même besoin avez-vous trouvez une solution? Merci. Link to comment Share on other sites More sharing options...
ShowYou Posted November 22, 2013 Share Posted November 22, 2013 Bonjour, Même problème... même recherche de solution..... Ce sous-dossier /fr n'est pas fait pour nous aider quand on passe en plusieurs langues !!! Link to comment Share on other sites More sharing options...
Trafiquant Posted February 18, 2014 Share Posted February 18, 2014 +1 à chercher la solution pour un Presta 1.5 Link to comment Share on other sites More sharing options...
yvaner2s Posted April 15, 2014 Share Posted April 15, 2014 Bonjour, J'ai le même problème sur ma boutique quelqu'un a trouvé la solution ? Link to comment Share on other sites More sharing options...
akhawat Posted October 27, 2014 Share Posted October 27, 2014 bonjour également intéressé Link to comment Share on other sites More sharing options...
phf64 Posted October 30, 2014 Share Posted October 30, 2014 Bonjour,Voici la solution pour une 1.5.xDe préférence, faites des override des classes modifiées.Fichier classes/Link.php Modifier protected function getLangLink($id_lang = null, Context $context = null) { if (!$context) $context = Context::getContext(); if (!$this->allow || !Language::isMultiLanguageActivated()) return ''; if (!$id_lang) $id_lang = $context->language->id; return Language::getIsoById($id_lang).'/'; } en protected function getLangLink($id_lang = null, Context $context = null) { if (!$context) $context = Context::getContext(); if (!$this->allow || !Language::isMultiLanguageActivated()) return ''; if (!$id_lang) $id_lang = $context->language->id; if(Language::getIsoById($id_lang)=='fr'){ return ''; } return Language::getIsoById($id_lang).'/'; } Fichier classes/Dispatcher.phpModifier protected function setRequestUri() { // Get request uri (HTTP_X_REWRITE_URL is used by IIS) if (isset($_SERVER['REQUEST_URI'])) $this->request_uri = $_SERVER['REQUEST_URI']; else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) $this->request_uri = $_SERVER['HTTP_X_REWRITE_URL']; $this->request_uri = rawurldecode($this->request_uri); $this->request_uri = preg_replace('#^'.preg_quote(Context::getContext()->shop->getBaseURI(), '#').'#i', '/', $this->request_uri); // If there are several languages, get language from uri if ($this->use_routes && Language::isMultiLanguageActivated()) if (preg_match('#^/([a-z]{2})/#', $this->request_uri, $m)) { $_GET['isolang'] = $m[1]; $this->request_uri = substr($this->request_uri, 3); } } en protected function setRequestUri() { // Get request uri (HTTP_X_REWRITE_URL is used by IIS) if (isset($_SERVER['REQUEST_URI'])) $this->request_uri = $_SERVER['REQUEST_URI']; else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) $this->request_uri = $_SERVER['HTTP_X_REWRITE_URL']; $this->request_uri = rawurldecode($this->request_uri); $this->request_uri = preg_replace('#^'.preg_quote(Context::getContext()->shop->getBaseURI(), '#').'#i', '/', $this->request_uri); // If there are several languages, get language from uri if ($this->use_routes && Language::isMultiLanguageActivated()) if (preg_match('#^/([a-z]{2})/#', $this->request_uri, $m)) { $_GET['isolang'] = $m[1]; $this->request_uri = substr($this->request_uri, 3); }else{ $_GET['isolang'] = 'fr'; } } Fichier header.tpl (à adapter à votre thème)Modifier <a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> en <a id="header_logo" href="{$link->getPageLink('index.php')}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> Je pense n'avoir rien oublié. 2 Link to comment Share on other sites More sharing options...
akhawat Posted October 30, 2014 Share Posted October 30, 2014 bonjour je suis débutant, comment fait on pour faire un override ? merci Link to comment Share on other sites More sharing options...
phf64 Posted October 30, 2014 Share Posted October 30, 2014 http://doc.prestashop.com/display/PS15/Overriding+default+behaviors Link to comment Share on other sites More sharing options...
Tod Posted March 6, 2015 Share Posted March 6, 2015 Bonjour, j'ai le même problème mais sur presta 1.6, la solution est-elle la même? Il semblerait que lorsque j'essaye de changer de lange, puis de revenir à celle-ci la page re-charge, mais reste dans la deuxième langue. Link to comment Share on other sites More sharing options...
J. Danse Posted March 6, 2015 Share Posted March 6, 2015 Bonjour, La solution n'est pas pareille, non, en 1.6. En cas, ce module le fera pour vous. Link to comment Share on other sites More sharing options...
PatJ Posted March 12, 2015 Share Posted March 12, 2015 On 3/6/2015 at 2:24 PM, J. Danse said: Bonjour, La solution n'est pas pareille, non, en 1.6. En cas, ce module le fera pour vous. Salut, Merci pour cette info. Ça m'intéresse Je ne trouve pas très claires les explications sur le fonctionnement du module: Avec ce module, on choisit une langue (par exemple le Français) et les URL du site sont alors sans le dossier /fr/ quand le Français est sélectionné. Si l'anglais est sélectionné, le dossier /en/ reste visible, c'est bien ça ? Merci Link to comment Share on other sites More sharing options...
J. Danse Posted March 12, 2015 Share Posted March 12, 2015 Bonjour, C'est justement "l'inverse", en fait. Lorsque on sélectionne une langue, ce sont les liens de celles-ci qui sont affectés. Pour l'exemple, j'ai trois langues: - Français (fr) ; - Anglais (en) ; - Allemand (de). Si je sélectionne "Français", les liens seront du type: shop.domain.com, shop.domain.com/en/ et shop.domain.com/de/ ; c'est donc le dossier /fr/ qui n'est pas présent. Si je sélectionne "Anglais", les liens seront du type: shop.domain.com, shop.domain.com/fr/ et shop.domain.com/de/ ; c'est donc le dossier /en/ qui n'est pas présent. Est-ce plus clair ? Link to comment Share on other sites More sharing options...
PatJ Posted March 12, 2015 Share Posted March 12, 2015 Salut, Ok, c'est ce que j'avais compris On a dit la même chose de manière différente Merci ! Je vais commander ce module 1 Link to comment Share on other sites More sharing options...
KevinNash Posted March 22, 2015 Share Posted March 22, 2015 On 10/30/2014 at 3:31 PM, phf64 said: Bonjour, Voici la solution pour une 1.5.x De préférence, faites des override des classes modifiées. Fichier classes/Link.php Modifier protected function getLangLink($id_lang = null, Context $context = null) { if (!$context) $context = Context::getContext(); if (!$this->allow || !Language::isMultiLanguageActivated()) return ''; if (!$id_lang) $id_lang = $context->language->id; return Language::getIsoById($id_lang).'/'; } en protected function getLangLink($id_lang = null, Context $context = null) { if (!$context) $context = Context::getContext(); if (!$this->allow || !Language::isMultiLanguageActivated()) return ''; if (!$id_lang) $id_lang = $context->language->id; if(Language::getIsoById($id_lang)=='fr'){ return ''; } return Language::getIsoById($id_lang).'/'; } Fichier classes/Dispatcher.php Modifier protected function setRequestUri() { // Get request uri (HTTP_X_REWRITE_URL is used by IIS) if (isset($_SERVER['REQUEST_URI'])) $this->request_uri = $_SERVER['REQUEST_URI']; else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) $this->request_uri = $_SERVER['HTTP_X_REWRITE_URL']; $this->request_uri = rawurldecode($this->request_uri); $this->request_uri = preg_replace('#^'.preg_quote(Context::getContext()->shop->getBaseURI(), '#').'#i', '/', $this->request_uri); // If there are several languages, get language from uri if ($this->use_routes && Language::isMultiLanguageActivated()) if (preg_match('#^/([a-z]{2})/#', $this->request_uri, $m)) { $_GET['isolang'] = $m[1]; $this->request_uri = substr($this->request_uri, 3); } } en protected function setRequestUri() { // Get request uri (HTTP_X_REWRITE_URL is used by IIS) if (isset($_SERVER['REQUEST_URI'])) $this->request_uri = $_SERVER['REQUEST_URI']; else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) $this->request_uri = $_SERVER['HTTP_X_REWRITE_URL']; $this->request_uri = rawurldecode($this->request_uri); $this->request_uri = preg_replace('#^'.preg_quote(Context::getContext()->shop->getBaseURI(), '#').'#i', '/', $this->request_uri); // If there are several languages, get language from uri if ($this->use_routes && Language::isMultiLanguageActivated()) if (preg_match('#^/([a-z]{2})/#', $this->request_uri, $m)) { $_GET['isolang'] = $m[1]; $this->request_uri = substr($this->request_uri, 3); }else{ $_GET['isolang'] = 'fr'; } } Fichier header.tpl (à adapter à votre thème) Modifier <a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> en <a id="header_logo" href="{$link->getPageLink('index.php')}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> Je pense n'avoir rien oublié. Superbe ! Cela fonctionne comme un charme sur PS 1.5 Bien vu pour la redirection du logo, il fallait y penser Link to comment Share on other sites More sharing options...
cedricx17 Posted May 28, 2015 Share Posted May 28, 2015 Concernant le module "supprimer dossier langue" pour prestashop 1.6, je rencontre un problème depuis l' installation dans les résultats SERP. Ma balise title ne semble pas prise en compte pour la version par défaut FR. L' adresse affichée dans les résultats contient le dossier /fr/. Et affiche simplement le nom de la boutique en titre. Link to comment Share on other sites More sharing options...
OBSEVILLA Posted June 8, 2015 Share Posted June 8, 2015 Sur le 1.5.6 cela ne fonctionne que partiellement, le panier (ajax), le pager (ajax), et la "navigation à facette" (blocklayered ajax) ne renvoie que la langue principale. quelqu'un aurait il rencontré ce souci ? Link to comment Share on other sites More sharing options...
mifboutique Posted September 22, 2015 Share Posted September 22, 2015 Bonsoir, cela fait juste quelque jours que je travail sur la création d'une boutique en ligne avec PrestaShop, j'ai rencontrer ce problème de sous dossier /fr/, juste après l'installation et avoir choisir la langue, quel galère de chercher cette solution de sous dossier, Bon baff, moi je suis parvenue a ce problème en quelque clic, sans toucher vraiment au code, voici la SOLUTION ETAPE 1 : Après l'installation rendez-vous dans le panneau d'administration puis localisation ensuite langues, supprimer la langue que vous ne voulez pas sur le site, ou le désactivé ETAPE 2 : allez dans préférence, ensuite seo & url et génération du ficher robots.txt cliquer sur générer le ficher, ensuite allez a la racine de votre site pour modifier le ficher de cette façon supprimer le sous dossier /fr/ et /en/ en laissant les chemin de cette façon */produit c'est tout vous devez avoir ceci normalement comme moi www.votresite.com pour moi c'était comme cela après l'installation http://mif-boutique.besaba.com/fr/ maintenant après les modification je suis à cela http://mif-boutique.besaba.com ns Link to comment Share on other sites More sharing options...
mifboutique Posted September 22, 2015 Share Posted September 22, 2015 On 9/22/2015 at 8:32 PM, mifboutique said: Bonsoir, cela fait juste quelque jours que je travail sur la création d'une boutique en ligne avec PrestaShop, j'ai rencontrer ce problème de sous dossier /fr/, juste après l'installation et avoir choisir la langue, quel galère de chercher cette solution de sous dossier, Bon baff, moi je suis parvenue a ce problème en quelque clic, sans toucher vraiment au code, voici la SOLUTION ETAPE 1 : Après l'installation rendez-vous dans le panneau d'administration puis localisation ensuite langues, supprimer la langue que vous ne voulez pas sur le site, ou le désactivé ETAPE 2 : allez dans préférence, ensuite seo & url et génération du ficher robots.txt cliquer sur générer le ficher, ensuite allez a la racine de votre site pour modifier le ficher de cette façon supprimer le sous dossier /fr/ et /en/ en laissant les chemin de cette façon */produit c'est tout vous devez avoir ceci normalement comme moi www.votresite.com pour moi c'était comme cela après l'installation http://mif-boutique.besaba.com/fr/ maintenant après les modification je suis à cela http://mif-boutique.besaba.com ns On 9/22/2015 at 8:32 PM, mifboutique said: Bonsoir, cela fait juste quelque jours que je travail sur la création d'une boutique en ligne avec PrestaShop, j'ai rencontrer ce problème de sous dossier /fr/, juste après l'installation et avoir choisir la langue, quel galère de chercher cette solution de sous dossier, Bon baff, moi je suis parvenue a ce problème en quelque clic, sans toucher vraiment au code, voici la SOLUTION ETAPE 1 : Après l'installation rendez-vous dans le panneau d'administration puis localisation ensuite langues, supprimer la langue que vous ne voulez pas sur le site, ou le désactivé ETAPE 2 : allez dans préférence, ensuite seo & url et génération du ficher robots.txt cliquer sur générer le ficher, ensuite allez a la racine de votre site pour modifier le ficher de cette façon supprimer le sous dossier /fr/ et /en/ en laissant les chemin de cette façon */produit c'est tout vous devez avoir ceci normalement comme moi www.votresite.com pour moi c'était comme cela après l'installation http://mif-boutique.besaba.com/fr/ maintenant après les modification je suis à cela http://mif-boutique.besaba.com ns On 9/22/2015 at 8:32 PM, mifboutique said: Bonsoir, cela fait juste quelque jours que je travail sur la création d'une boutique en ligne avec PrestaShop, j'ai rencontrer ce problème de sous dossier /fr/, juste après l'installation et avoir choisir la langue, quel galère de chercher cette solution de sous dossier, Bon baff, moi je suis parvenue a ce problème en quelque clic, sans toucher vraiment au code, voici la SOLUTION ETAPE 1 : Après l'installation rendez-vous dans le panneau d'administration puis localisation ensuite langues, supprimer la langue que vous ne voulez pas sur le site, ou le désactivé ETAPE 2 : allez dans préférence, ensuite seo & url et génération du ficher robots.txt cliquer sur générer le ficher, ensuite allez a la racine de votre site pour modifier le ficher de cette façon supprimer le sous dossier /fr/ et /en/ en laissant les chemin de cette façon */produit c'est tout vous devez avoir ceci normalement comme moi www.votresite.com pour moi c'était comme cela après l'installation http://mif-boutique.besaba.com/fr/ maintenant après les modification je suis à cela http://mif-boutique.besaba.com ns Link to comment Share on other sites More sharing options...
akhawat Posted November 17, 2015 Share Posted November 17, 2015 Bonjour s'il vous plait pourriez vous m'apporter quelques précisions sur "supprimer le sous dossier /fr/ et /en/ en laissant les chemin de cette façon */produit" je n'ai pas très bien saisi, ou sont les sous dossier en question ? voulez vous dire que je dois modifier les lignes dans le fichiers robots.txt et suprimer tout les fr et en ? cdlt Link to comment Share on other sites More sharing options...
akhawat Posted January 9, 2016 Share Posted January 9, 2016 up personne n'a d'idée sur la question ? Link to comment Share on other sites More sharing options...
Eolia Posted January 9, 2016 Share Posted January 9, 2016 Tout cela est tout sauf une bonne idée^^ Pourquoi vouloir modifier les urls ? C'est quoi cette nouvelle mode ? Si votre boutique était en mono-langue avant, il suffit d'ajouter une règle dans le htaccess pour faire suivre les anciennes urls plutot que de bidouiller le comportement de Prestashop. En faisant cela vous risquez également de planter le sitemap et de créer de nouvelles 404 voire des collisions d'urls (notamment au niveau de toutes les requetes ajax en front) Link to comment Share on other sites More sharing options...
ZIED Posted April 1, 2016 Share Posted April 1, 2016 (edited) On 1/9/2016 at 5:20 PM, Eolia said: Tout cela est tout sauf une bonne idée^^ Pourquoi vouloir modifier les urls ? C'est quoi cette nouvelle mode ? Si votre boutique était en mono-langue avant, il suffit d'ajouter une règle dans le htaccess pour faire suivre les anciennes urls plutot que de bidouiller le comportement de Prestashop. En faisant cela vous risquez également de planter le sitemap et de créer de nouvelles 404 voire des collisions d'urls (notamment au niveau de toutes les requetes ajax en front) Merci, pouvez vous nous donner un exemple de règle, je suis en production et je vais passer du multiboutique vers le multilingue, et j'ai pas droit a l'erreur ! Edited April 1, 2016 by ZIED (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted April 1, 2016 Share Posted April 1, 2016 On 4/1/2016 at 5:33 PM, ZIED said: Merci, pouvez vous nous donner un exemple de règle, je suis en production et je vais passer du multiboutique vers le multilingue, et j'ai pas droit a l'erreur ! Euh... ce n'est plus du tout la même problématique là. Vous êtes en multiboutique mono-langue et vous passez vers le multiboutique multilingue ou vous passez du multi-boutique avec une langue chacune vers une mono-boutique multi-lingue ? Link to comment Share on other sites More sharing options...
ZIED Posted April 2, 2016 Share Posted April 2, 2016 On 4/1/2016 at 6:14 PM, Eolia said: Euh... ce n'est plus du tout la même problématique là. Vous êtes en multiboutique mono-langue et vous passez vers le multiboutique multilingue ou vous passez du multi-boutique avec une langue chacune vers une mono-boutique multi-lingue ? j'ai 5 boutique en multiboutiques monsite.com francais monolangue monsite.it minsite.co monsite.es monsite.biz pour les professionnels le site francais est très bien référencer avec google locale en plus... mais pour les autres j'ai du mal a décoller c'est une tache très lourde surtout coté baclinks et notoriété...travaille a faire x 5 et je gère tout seul ...donc j'ai penser a passer en multilingue en laissant que le site professionel en multiboutique donc le .it e .es le .co vont passer en monsite/it/ monsite/es/ monsite/en/ pour le francais j'aimerai bien qu'il reste en .com sans le /fr je pense prendre ce module http://addons.prestashop.com/fr/18980-supprimer-le-dossier-de-langue.html ? ou bien passer en /fr et faire la donne redirection pour le tout ! encore merci Link to comment Share on other sites More sharing options...
Eolia Posted April 2, 2016 Share Posted April 2, 2016 Ben du coup, vous n'avez aucune redirection à faire, elle se fera toute seule Exemple : http://shop.devcustom.net/fr/t-shirts/1-t-shirt-delave-a-manches-courtes-123456789654.html et http://shop.devcustom.net/t-shirts/1-t-shirt-delave-a-manches-courtes-123456789654.html Vous amènent sur la même page. 1 Link to comment Share on other sites More sharing options...
Guest Posted April 2, 2016 Share Posted April 2, 2016 Personnellement je ne vous conseillerai pas de procéder à ces modifications.. conserver votre structure actuelle du multiboutique pour un domaine par langue est plus judicieux, à mon avis. Vous pouvez cependant utiliser un module dont je ne me rappelle plus du nom (mais Mediacom87 saura vous conseiller à ce sujet) qui peut vous permettre d'avoir un menu langue sur chaque boutique renvoyant au bon nom de domaine correspondant. Si le référencement des boutiques dans les autres langue est difficile, ce n'est pas forcément mieux des les combiner sur le mm nom de domaine... google va-til apprécier ou pas ? je ne saurai vous le dire. Link to comment Share on other sites More sharing options...
ZIED Posted April 5, 2016 Share Posted April 5, 2016 On 4/2/2016 at 4:02 PM, Tweb said: Personnellement je ne vous conseillerai pas de procéder à ces modifications.. conserver votre structure actuelle du multiboutique pour un domaine par langue est plus judicieux, à mon avis. Vous pouvez cependant utiliser un module dont je ne me rappelle plus du nom (mais Mediacom87 saura vous conseiller à ce sujet) qui peut vous permettre d'avoir un menu langue sur chaque boutique renvoyant au bon nom de domaine correspondant. Si le référencement des boutiques dans les autres langue est difficile, ce n'est pas forcément mieux des les combiner sur le mm nom de domaine... google va-til apprécier ou pas ? je ne saurai vous le dire. oui en théorie c'est évident que la solution multiboutique est la meilleur mail malheureusement j'ai eu droit une pénalité google sur la requête star sur le .it désindexation ...d'ou l'idée de changement de mon de domaine vers le tout .com après avoir corriger l’éventuelle problème que google n'a pas apprécier " je crois" c'est que les fiche produit ne sont pas traduite a 100% je suis a 50% .... 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