Bonjour
Dans le cadre d'une modification pour boutique bilingue sur deux domaines (mais avec une seule BDD, un seul back-office et une seule source pour les images) j'ai le besoin de pouvoir forcer la langue par défaut.
Pour ce faire, je dois donc "forcer" la valeur de $defaultCountry dans /config/config.inc.php
Or, quand j'essaye de la forcer directement dans ce fichier, il me dit "tentative de piratage" ou un truc du genre sur le front-office !!!
Comment faire ?
C'est le SEUL truc qui ne fonctionne pas (en fait le problème ne se pose pas pour l'internaute, mais pour les bots des moteurs qui eux, vont aller utiliser la langue par défaut...) ; je n'arrive pas dans le cas des bots à forcer la langue comme je le fais pour les internautes (là ça fonctionne bien) dans le header.php...
MERCI (c'est assez urgent - je sais, on est dimanche)
voir page 2 pour solution.
Dans le cadre d'une modification pour boutique bilingue sur deux domaines (mais avec une seule BDD, un seul back-office et une seule source pour les images) j'ai le besoin de pouvoir forcer la langue par défaut.
Pour ce faire, je dois donc "forcer" la valeur de $defaultCountry dans /config/config.inc.php
Or, quand j'essaye de la forcer directement dans ce fichier, il me dit "tentative de piratage" ou un truc du genre sur le front-office !!!
Comment faire ?
C'est le SEUL truc qui ne fonctionne pas (en fait le problème ne se pose pas pour l'internaute, mais pour les bots des moteurs qui eux, vont aller utiliser la langue par défaut...) ; je n'arrive pas dans le cas des bots à forcer la langue comme je le fais pour les internautes (là ça fonctionne bien) dans le header.php...
MERCI (c'est assez urgent - je sais, on est dimanche)
voir page 2 pour solution.
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Voici une façon simple en fonction du nom de domaine :
Code à ajouter ligne 115 du fichier classes/Tools.php
Remplacer localhost par le domaine en .fr (www.google.fr)
Remplacer localhost-en par le domaine en .com (www.google.com)
Mélanger le tout, gouter, et me dire si c'est bon :)
Code à ajouter ligne 115 du fichier classes/Tools.php
// JBX - 19/07/2009 16:13:21
if($_SERVER['HTTP_HOST'] == 'localhost') // FR
{
$array[0] = 'EN';
}
if($_SERVER['HTTP_HOST'] == 'localhost-en') // EN
{
$array[0] = 'FR';
}
// JBX - 19/07/2009 16:13:27
Remplacer localhost par le domaine en .fr (www.google.fr)
Remplacer localhost-en par le domaine en .com (www.google.com)
Mélanger le tout, gouter, et me dire si c'est bon :)
MERCI Julien
En fait le soucis se pose sur l'une des boutiques (les deux utilisent la même base de données) car on ne peut évidemment spécifier qu'une seule langue par défaut dans le BO.
J'essaye ça :-)
En fait le soucis se pose sur l'une des boutiques (les deux utilisent la même base de données) car on ne peut évidemment spécifier qu'une seule langue par défaut dans le BO.
J'essaye ça :-)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
UP
Euh en fait je l'avais déjà fait :)
Mais ça ne fonctionne pas exactement comme je le voulais. En fait quand un bot de moteur de recherche passe sur la boutique, si la langue par défaut dans le BO (paramétré depuis "Outils / Langues") est par ex. sur "Anglais" MÊME avec un paramétrage forcé à FR comme tu l'as fait, ça ne fonctionne pas.
Le bot indexe la version anglaise :-(
Du coup il me faut forcer la variable équivalant au choix de la langue par défaut. Ce que j'essaye de faire... Du coup je ne suis pas sûr que ce soit au bon endroit que je cherche (je veux pouvoir forcer la valeur définie dans le BO à l'endroit que je dis, au niveau de la boutique) :roll:
J'ai évidemment essayé avec un "simulateur de bot", ça fonctionne bien comme je le dis. Quand il passe sur la boutique, fut-elle forcée via ta modif en français, lui lit les infos en anglais. Si je modifie ma langue par défaut au français, il les lit en français.
CQFD
Mais bon, ça répond pas à ma demande du coup :)
Euh en fait je l'avais déjà fait :)
Mais ça ne fonctionne pas exactement comme je le voulais. En fait quand un bot de moteur de recherche passe sur la boutique, si la langue par défaut dans le BO (paramétré depuis "Outils / Langues") est par ex. sur "Anglais" MÊME avec un paramétrage forcé à FR comme tu l'as fait, ça ne fonctionne pas.
Le bot indexe la version anglaise :-(
Du coup il me faut forcer la variable équivalant au choix de la langue par défaut. Ce que j'essaye de faire... Du coup je ne suis pas sûr que ce soit au bon endroit que je cherche (je veux pouvoir forcer la valeur définie dans le BO à l'endroit que je dis, au niveau de la boutique) :roll:
J'ai évidemment essayé avec un "simulateur de bot", ça fonctionne bien comme je le dis. Quand il passe sur la boutique, fut-elle forcée via ta modif en français, lui lit les infos en anglais. Si je modifie ma langue par défaut au français, il les lit en français.
CQFD
Mais bon, ça répond pas à ma demande du coup :)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Étrange, le problème, c'est que Prestashop utilise les cookies pour le stockage de poursuite ...
Du coup, effectivement, si le "bot" ne peut sauvegarder le cookie, la langue passe à l'Anglais...
C'est délicat :-s
Du coup, effectivement, si le "bot" ne peut sauvegarder le cookie, la langue passe à l'Anglais...
C'est délicat :-s
Bonjour,
Je suis également intéressée par le sujet et très attentive à toute suggestion en ce domaine !
Ann
Je suis également intéressée par le sujet et très attentive à toute suggestion en ce domaine !
Ann
www.ann-secrets.com
www.mode-des-femmes.com
www.mode-des-femmes.com
Bonjour
Pas d'idées ? La team ?
Je vais devoir installer une boutique bidon pour mes tests ?... :-(
Pas d'idées ? La team ?
Je vais devoir installer une boutique bidon pour mes tests ?... :-(
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
From 1248006760:
Du coup, effectivement, si le "bot" ne peut sauvegarder le cookie, la langue passe à l'Anglais...
Ce qui pose un problème pour les sites qui n'ont pas de version anglaise car, en se connectant notamment depuis l'étranger, le site affiche des pages sans texte plutôt que de proposer la langue par défaut.
1.3.7 sur OVH - En production
Bonjour Philippe
Je n'ai pas ce phénomène sur mes boutiques françaises. S'il n'y a qu'une seule langue, c'est la seule affichée.
Je n'ai pas ce phénomène sur mes boutiques françaises. S'il n'y a qu'une seule langue, c'est la seule affichée.
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
C'est le cas effectivement en France. Mais j'ai constaté à plusieurs reprise que, notamment depuis l'étranger, la version française n'est pas toujours prise en compte.
1.3.7 sur OVH - En production
As-tu bien pensé à désactiver (j'ai pas dit "supprimer") les autres langues ?
Car effectivement dans ce cas précis, on a des affichages foireux si on ne le fait pas ;-)
Car effectivement dans ce cas précis, on a des affichages foireux si on ne le fait pas ;-)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Étrange alors car moi j'ai pas le soucis ???
Quoi qu'il en soit, je DOIS absolument pouvoir forcer en dur la langue par défaut. Et j'ai pas la réponse à ma question :-/
Quoi qu'il en soit, je DOIS absolument pouvoir forcer en dur la langue par défaut. Et j'ai pas la réponse à ma question :-/
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
From 1248081868:
Étrange alors car moi j'ai pas le soucis ???
Tu n'as pas le souci... mais comment simuler ce problème alors que je n'ai pu le remarquer que lors de connexions depuis l'étranger ?
1.3.7 sur OVH - En production
Via des simulateurs de bots (basés aux USA par exemple) :)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Up
À défaut, comment désactiver le message de "piratage" ? C'est vraiment pénible !!!
À défaut, comment désactiver le message de "piratage" ? C'est vraiment pénible !!!
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
UP !
La solution :-)
Modifier la fonction suivante comme ceci dans le fichier /classes/configuration.php :
En fait, je "surclasse" la valeur de la langue par défaut telle que définie dans le back-office (ici pour la partie anglophone, alors que la langue par défaut est le français). Permet d'avoir la bonne langue pour les bots de Google et compagnie quand ils passent sur le site ;-)
OUF !
Je vais voir pour faire un article complet sur les modifications à réaliser pour faire fonctionner une boutique en bilingue sur deux URL (une URL = une langue), ça pourrait intéresser du monde.
La boutique que je viens de finaliser fonctionne sur le principe suivant :
* boutique francophone : y sont stockées les images et l'accès back-office. Le français est la langue par défaut.
* boutique anglophone : modifications pour utilisation de la base de données de la version française + hotlink sur les images stockées côté français + modifications pour forcer la langue à l'anglais
Petite modif finale sur le module "blocklanguages" pour pouvoir passer d'une boutique à l'autre, et voilà ;-)
La solution :-)
Modifier la fonction suivante comme ceci dans le fichier /classes/configuration.php :
static public function get($key, $id_lang = NULL)
{
if (!is_array(self::$_CONF) OR !is_array(self::$_CONF_LANG) OR !Validate::isConfigName($key))
die(Tools::displayError());
if ($id_lang)
{
if (key_exists(intval($id_lang), self::$_CONF_LANG) AND key_exists($key, self::$_CONF_LANG[intval($id_lang)]))
return self::$_CONF_LANG[intval($id_lang)][$key];
}
elseif (key_exists($key, self::$_CONF))
{
// MODIFICATION LANGUE PAR DEFAUT POUR LES ROBOTS
if($key=='PS_LANG_DEFAULT')
{
// Variable langue => on force l'anglais
return '1';
}
else
{
return self::$_CONF[$key];
}
// FIN DE MODIFICATION
}
$result = Db::getInstance()->GetRow('
SELECT IFNULL('.($id_lang ? 'cl' : 'c').'.`value`, c.`value`) AS value
FROM `'._DB_PREFIX_.'configuration` c
'.($id_lang ? ('LEFT JOIN `'._DB_PREFIX_.'configuration_lang` cl ON (c.`id_configuration` = cl.`id_configuration` AND cl.`id_lang` = '.intval($id_lang).')') : '').'
WHERE `name` = \''.pSQL($key).'\'');
return ($result ? $result['value'] : false);
}
En fait, je "surclasse" la valeur de la langue par défaut telle que définie dans le back-office (ici pour la partie anglophone, alors que la langue par défaut est le français). Permet d'avoir la bonne langue pour les bots de Google et compagnie quand ils passent sur le site ;-)
OUF !
Je vais voir pour faire un article complet sur les modifications à réaliser pour faire fonctionner une boutique en bilingue sur deux URL (une URL = une langue), ça pourrait intéresser du monde.
La boutique que je viens de finaliser fonctionne sur le principe suivant :
* boutique francophone : y sont stockées les images et l'accès back-office. Le français est la langue par défaut.
* boutique anglophone : modifications pour utilisation de la base de données de la version française + hotlink sur les images stockées côté français + modifications pour forcer la langue à l'anglais
Petite modif finale sur le module "blocklanguages" pour pouvoir passer d'une boutique à l'autre, et voilà ;-)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
From 1248006086:
UP
Euh en fait je l'avais déjà fait :)
Mais ça ne fonctionne pas exactement comme je le voulais. En fait quand un bot de moteur de recherche passe sur la boutique, si la langue par défaut dans le BO (paramétré depuis "Outils / Langues") est par ex. sur "Anglais" MÊME avec un paramétrage forcé à FR comme tu l'as fait, ça ne fonctionne pas.
Le bot indexe la version anglaise :-(
Du coup il me faut forcer la variable équivalant au choix de la langue par défaut. Ce que j'essaye de faire... Du coup je ne suis pas sûr que ce soit au bon endroit que je cherche (je veux pouvoir forcer la valeur définie dans le BO à l'endroit que je dis, au niveau de la boutique) :roll:
J'ai évidemment essayé avec un "simulateur de bot", ça fonctionne bien comme je le dis. Quand il passe sur la boutique, fut-elle forcée via ta modif en français, lui lit les infos en anglais. Si je modifie ma langue par défaut au français, il les lit en français.
CQFD
Mais bon, ça répond pas à ma demande du coup :)
Euh en fait je l'avais déjà fait :)
Mais ça ne fonctionne pas exactement comme je le voulais. En fait quand un bot de moteur de recherche passe sur la boutique, si la langue par défaut dans le BO (paramétré depuis "Outils / Langues") est par ex. sur "Anglais" MÊME avec un paramétrage forcé à FR comme tu l'as fait, ça ne fonctionne pas.
Le bot indexe la version anglaise :-(
Du coup il me faut forcer la variable équivalant au choix de la langue par défaut. Ce que j'essaye de faire... Du coup je ne suis pas sûr que ce soit au bon endroit que je cherche (je veux pouvoir forcer la valeur définie dans le BO à l'endroit que je dis, au niveau de la boutique) :roll:
J'ai évidemment essayé avec un "simulateur de bot", ça fonctionne bien comme je le dis. Quand il passe sur la boutique, fut-elle forcée via ta modif en français, lui lit les infos en anglais. Si je modifie ma langue par défaut au français, il les lit en français.
CQFD
Mais bon, ça répond pas à ma demande du coup :)
<?php
// Conecta a la base de datos
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/config/settings.inc.php');
// Comprueba procedencia nombre dominio
If($_SERVER['HTTP_HOST'] == "www.dominioingles.com"){
$q = "UPDATE ps_configuration p SET value=1
WHERE p.`id_configuration`=1";
$r = @mysql_query($q);
}
Elseif($_SERVER['HTTP_HOST'] == "www.dominioespanol.com"){
$q = "UPDATE ps_configuration p SET value=4
WHERE p.`id_configuration`=1";
$r = @mysql_query($q);
}
?>
www.ConsultorWeb.es
Diseño de Tiendas Virtuales y Consultoría Web
Diseño de Tiendas Virtuales y Consultoría Web
Merci pour cette solution
Attention toutefois, en cas de connexions simultanées, je doute que cela fonctionne ;-)
Attention toutefois, en cas de connexions simultanées, je doute que cela fonctionne ;-)
EX entrepreneur spécialiste du référencement Prestashop, certifié CESEO - Attention, je n'exerce plus mais je partage désormais mes connaissances sur mon site dédié à Prestashop et Wordpress !
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel
Mon projet phare (créé de A à Z) : Matériel de cuisine professionnel




Back to top









