「auth」というモジュール (tank_auth 認証ライブラリを含む) の構成ファイルのパスに問題があります。
「auth」モジュールのすべての関数は、「tank_auth.php」ライブラリをロードします。これは、次の場所に tank_auth 構成ファイルをロードしますapplication/modules/auth/config/tank_auth.php
。
function __construct()
{
$this->ci =& get_instance();
$this->ci->load->config('tank_auth', TRUE); //<--- HERE IT IS!!
$this->ci->load->library('session');
$this->ci->load->database();
$this->ci->load->model('tank_auth/users');
// Try to autologin
$this->autologin();
}
別のモジュールでは、「auth」モジュール内のビューに関数への次の呼び出しを挿入します。
<?php modules::run('auth/cp'); ?>
これによりエラーが発生します
An Error Was Encountered
The configuration file tank_auth.php does not exist.
これを解決するには、Tank_auth.php の __construct 関数内で、'tank_auth' から 'auth/tank_auth' へのパスを変更します。
function __construct()
{
$this->ci =& get_instance();
$this->ci->load->config('auth/tank_auth', TRUE); // <--- ADDED module name
$this->ci->load->library('session');
$this->ci->load->database();
$this->ci->load->model('tank_auth/users');
// Try to autologin
$this->autologin();
}
私の質問は、別のモジュールから呼び出されている認証関数 cp が「認証」モジュール内の構成ファイルを認識しないのはなぜですか? config('tank_auth', TRUE)
モジュールの名前を追加せずにそのまま使用できるべきではありませんか?