Submitted by Azrael128 on
Bonjour à tous,
J'essaye de monter un site multilingue sous Drupal7 (plus exactement la distribution wetkit) avec deux sous-domaines (fr.site.com et en.site.com). Tous mes articles seront disponibles en deux langues avec un système de correspondance (en.site.com/article1english qui correspond à fr.site.com/article1francais).
Je veux ajouter à mon menu principal un item qui redirige vers la version du même article dans l'autre langue. Ainsi, si on est sur fr.site.com/un-article-en-français et qu'on clique sur "English" dans le menu, on se retrouve sur en.site.com/corresponding-article-in-english et vice-versa sur l'article en anglais avec un lien "Français".
Pour ça j'utilise un module custom qui fait ça et qui correspond à peu près à ce code.
Le problème, c'est que j'obtiens l'erreur suivante sur toutes les pages :
Notice : Undefined property: stdClass::$domain in locale_language_url_rewrite_url() (line 437 in /home/includes/locale.inc).
Pour la petite anecdote, cette ligne 437 dans locale correspond au passage suivant :
if (isset($options['language'])) {
switch (variable_get('locale_language_negotiation_url_part', LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX)) {
case LOCALE_LANGUAGE_NEGOTIATION_URL_DOMAIN:
if ($options['language']->domain) {
// Save the original base URL. If it contains a port, we need to
// retain it below.
if (!empty($options['base_url'])) {
// The colon in the URL scheme messes up the port checking below.
$normalized_base_url = str_replace(array('https://', 'http://'), '', $options['base_url']);
}
Cette erreur a un effet sur mon lien de menu. Il redirige vers la bonne URL d'article, mais pas sur le bon domaine. C'est-à-dire qu'au lieu de m'envoyer sur en.site.com/corresponding-article-in-english il m'envoie sur fr.site.com/corresponding-article-in-english - qui n'existe pas et crée donc une erreur 404.
Je ne suis pas codeur et pas super à l'aise en syntaxe mais si je comprends bien l'idée, il y a une variable qui correspond à $options['language']->domain et qui n'est pas initialisée alors qu'elle le devrait ?
Une idée de ce que je fais de travers et de comment réparer ça ?
Merci d'avance !