it-swarm-ja.tech

別のディレクトリからJFactory :: getLanguage()を使用する方法

関数JFactory::getLanguage();を使用して、現在選択されている言語を別のディレクトリから取得するにはどうすればよいですか?

私はそこにいるときにそれを行う方法を知っています:

  • / web/include
  • / web <---- [ここから呼び出すことができます]( ここで解決

しかし、私はそれをから呼び出す必要があります...

  • /web/scripts/myScripts/myScript.php

Joomlaフレームワークをインポートしようとしました:

// Set flag that this is a parent file.
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';

// Instantiate the application.
$app = JFactory::getApplication('site');

// Initialise the application.
$app->initialise();

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

JPATH_BASEの定義がまだコードにありません。 Joomla APIをインポートするには、以下を使用するだけです。

define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/..' ));

require_once ( JPATH_BASE . '/includes/defines.php' );
require_once ( JPATH_BASE . '/includes/framework.php' );

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

次に、言語タグを取得します。

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

JPATH_BASEが正しく定義されていることを確認する必要があります。外部のPHPファイルがJoomlaのインストールに関連してどこにあるかわかりませんが、APIインポートコードの2行目を変更する必要があります。

お役に立てれば

0
Lodder