web-dev-qa-db-fra.com

La fonction getLanguage () ne renvoie pas la langue actuelle?

J'essaie d'obtenir la langue actuellement sélectionnée.

Voici la partie de mon code:

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
    include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';

$lang =& JFactory::getLanguage()->getTag();

et...

echo $lang;

retourne toujours en-GB.

Le site Web a la possibilité de Ger et Eng. Il change également les langues pour différents articles. Je ne comprends pas comment je n'ai pas obtenu la langue actuellement sélectionnée dans php.

2
user3433065

Je ne pense pas que ce soit possible. Vous essayez d'obtenir une langue en dehors du champ d'application. Vous pouvez essayer d’instancier l’application:

$app = JFactory::getApplication('site');

Mais je doute que cela aide.

3
Dmitry Rekun