Bonjour à tous,
Me revoilà avec MODx et j'essaie d'installer Babel avec revo 2.5. (trois langues : fr, it, de)
J'avais deja installé Babel sous Revo 2.2 mais le manager à changer et je ne suis plus sure de moi, car les tuto montre un version antérieur à 2.5
J'ai un doubte car mon menu langue ne s'affiche pas et je peine à trouver la raison
J'ai installé babel selon mes notes et un tuto comme ceci:
https://anyscreensize.com/blog/modx-multilingual
Premièrement
J'ai édité mon fichier htaccess et j'ai fais ces modifications
RewriteEngine On
RewriteBase /
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www.mywebsite\.ch [NC]
RewriteRule (.*) http://www.mywebsite.ch/$1 [R=301,L]
# BABEL
# redirect all requests to /de/favicon.ico and /nl/favicon.ico
# to /favicon.ico
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(fr|it|de)/favicon.ico$ favicon.ico [L,QSA]
# redirect all requests to /de/assets* and /nl/assets* to /assets*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(fr|it|de)/assets(.*)$ assets$2 [L,QSA]
# redirect all other requests to /de/* and /nl/*
# to index.php and set the cultureKey parameter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(fr|it|de)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
J'ai aussi commenter ces lignes
# The Friendly URLs part
# 3 line are comment because of babal
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Deuxièment
J'ai créé 2 nouveau contexte (un pour l'allemand, l'autre pour l'italien (voir les photos attachées)
(site_start doivent etre changé en fonction de la page traduite correspondant à la page d'acceuil)
Troisièmement
J'ai ajouté un plugin 'gateway' avec ce code et j'ai remplacé 'nl' avec 'it' et 'en' avec 'de'
<?php
if($modx->context->get('key') != "mgr"){
/* grab the current langauge from the cultureKey request var */
switch ($_REQUEST['cultureKey']) {
case 'it':
/* switch the context */
$modx->switchContext('it');
break;
case 'de':
/* switch the context */
$modx->switchContext('de');
break;
default:
/* Set the default context here */
$modx->switchContext('web');
break;
}
/* unset GET var to avoid
* appending cultureKey=xy to URLs by other components */
unset($_GET['cultureKey']);
}
J'ai aussi sélectionné 'OnHandleRequest' dans 'system event'
Quatrièmement
J'ai installé Babel et j'ai sauvé 'web,it,de' comme Contect key dans l'option, avant de cliquer sur install
Finallement
J'ai ajouté ceci dans mon template et ca ne marche pas
<ul>[[BabelLinks]]</ul>
<ul>[[BabelLinks? &showUnpublished=`1`]]</ul> <!-- for testing -->
Question 1
Pourquoi, mon menu langue n'est pas affiché????
Question 2
Es-ce que j'ai oublié quelque chose?
Es-ce que je dois me préoccuper de 'Load only'? Il semble que pour revo 2.5, c'est fait automatiquement. Je l'ai vu sous 'anonymouse | 9999 | local only' (voir image attachée)
Merci pour vos lumières
Cheers
[ed. note: pierrot1010 last edited this post 7 years, 10 months ago.]