2013-01-15 44 views
1

我有一個獨立的文件,生成一個圖像,我包括joomla框架。該文件在頁面上顯示爲圖像。 $ _SESSION爲空,getUser返回NULL。 JText不知道要加載哪個module.language文件,以及用戶的默認語言是什麼。我如何訪問這些信息/對象?joomla 2.5 standalone php JText :: _()不工作

我的代碼:

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

//joomla installation 
define('JPATH_BASE', '../..'); 

//include joomla core files 
require_once(JPATH_BASE . DS . 'includes' . DS . 'defines.php'); 
require_once(JPATH_BASE . DS . 'includes' . DS . 'framework.php'); 
require_once(JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php'); 

$echo = JText::_("MOD_MYMODULE_TEXT"); 

header("Content-type: image/png"); 
Graph::render($echo); 

回答

1

使用本:

$lang =& JFactory::getLanguage(); 
$lang->load('mod_sample',JPATH_ROOT,'fa-IR'); 

或起訴本,自動檢測郎鹹平:

$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 

$lang =& JFactory::getLanguage(); 
$lang->load('mod_sample',JPATH_ROOT); 
0

如果你已經有分量的工作,並已使用JText::成功了,最近你已經創建了一個插件,令你驚喜的是JText::上課不起作用,請在下面閱讀。

插件使用它自己的語言文件。要根據系統語言在Joomla! 3.x中自動加載語言文件,您需要使用以下代碼。

$this->loadLanguage('', JPATH_BASE); 

此外,您需要擁有一個基於插件名稱的語言文件,如下所示。

<Language>.plg_<Plugin Type>_<Plugin name>.ini 

因此,可以說你的插件的名字是coolblue和你寫英語(en-GB)語言,這個插件是authentication類型。所以你的文件名將是..

en-GB.plg_authentication_coolblue.ini 

而且你可以在那裏存儲語言字符串。而Joomla!會爲你加載你的語言文件,不需要謹慎地指定任何語言或文件。