1

画像を生成するスタンドアロンファイルがあり、joomlaフレームワークが含まれています。このファイルはページに画像として表示されます。$ _SESSIONは空で、getUserはNULLを返します。JTextは、ロードするmodule.languageファイルと、ユーザーのデフォルト言語を認識していません。この情報/オブジェクトにアクセスするにはどうすればよいですか?

私のコード:

//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);
4

2 に答える 2

1

これを使って:

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

またはこれを訴え、langを自動的に検出します:

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

$lang =& JFactory::getLanguage();
$lang->load('mod_sample',JPATH_ROOT);
于 2013-04-24T09:33:07.313 に答える
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!、言語ファイルをロードします。言語やファイルを慎重に指定する必要はありません。

于 2016-06-17T08:21:00.047 に答える