0

Codeigniterメッセージライブラリを使用しています。

私のコントローラーには次のコードがあります

public function __construct() {
    parent::__construct();
    $this->load->library('message');  
}

public function box($box_id=null, $language_name=null) {
   if($id_from_url[5]==null){
      $this->message->set('Please provide Box ID in URL.', 'error');
    }
}

私の見解では、私は使用します

    $this->message->display(); 

すでにMessage.phpをapplication/librariesフォルダーに配置しましたが、次のエラーが発生します

Message: Missing argument 1 for CI_Message::CI_Message(), called in W:\Zend\Apache2\htdocs\mediabox\system\core\Loader.php on line 1099 and defined

このエラーについて何か考えはありますか?

前もって感謝します

4

1 に答える 1

1

あなたのタイトルはあなたがここで得ているエラーとは完全に異なります。メッセージライブラリにはそのコンストラクトに渡されるパラメータが必要であることが明確に示されていますが、コンストラクトパラメータなしでライブラリをロードしています。

ロード中に2番目のパラメーターを使用して構成パラメーターを渡す必要があります

$this->load->library('message',$config);

あなたが実際にこのメッセージライブラリについてここhttp://codeigniter.com/wiki/Messageについて話しているなら、私は言わなければなりません、そこのドキュメントは不完全です。

function CI_Message($config){    
    $this->CI =& get_instance();        
    $this->CI->load->library('session');

    if($this->CI->session->flashdata('_messages')) $this->messages = $this->CI->session->flashdata('_messages');
    if(isset($config['wrapper'])) $this->wrapper = $config['wrapper'];
}

ここでの構成には、パラメーター$configが渡される必要があります。

ドキュメントを徹底的に確認してください。ロード中にこれを渡す必要があります。

$config = array();
$config['wrapper'] = array('<div id="messages">', '</div>'); 

それから

$this->load->library('message',$config);
于 2012-04-11T09:09:20.020 に答える