0

構成変数をビューにエコーアウトしようとしていますが、それを正しく行っているとは確信していませんが、ここで回答を読むと、正しく行っているようです。

私の構成フォルダーには、次のファイルがあります。

アカウント/googleplus.php

そのファイル内に変数があります:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');    
$config['googleplus_client_id']     = "123456789";

私のコントローラーでは、次のように構成ファイルをロードし、その後にビューをロードします。

    function __construct()
    {
        parent::__construct();
    $this->load->config(array('account/account', 'account/googleplus'));
    }
function index()
{
    $this->load->view('sign_in');
}

次に、私の見解では、次のように変数をエコーアウトします。

<?php echo $this->config->item('googleplus_client_id');

私が抱えている問題は、コンテンツがエコーアウトされないことです。どうにかしてデータをビューに渡す必要がありますか、それともそれ自体で解決する必要がありますか?

エラーがスローされます:

構成ファイル Array.php が存在しません。

4

2 に答える 2

2

変数が原因だと思います$this。それは呼び出された場所(コントローラー、モデル、またはビュー)に関連しているため$this、コントローラーではビューとは異なり$thisます。

また、ビューは通常クラスで$thisはないため、クラスにはなりません。

代わりに、次のように構成を渡すことができます。

コントローラ:

function __construct()
{
    parent::__construct();
    $this->load->config('account/googleplus'); 
}
function index()
{
    $data = array('googleplus_client_id' => $this->config->item('googleplus_client_id'));
    $this->load->view('sign_in', $data);
}

見る:

<?php echo $googleplus_client_id;
于 2013-07-01T20:15:57.877 に答える
2

これは、$this->load->config() が配列パラメーターを取らないためです。やったほうがいい

$this->load->config('account/account');
$this->load->config('account/googleplus');

あなたのコントローラーで。その後、あなたは呼び出すことができます

$this->config->item()

あなたのビューファイルで。ここのドキュメントによると、

$this->config->load()

それよりも

$this->load->config()
于 2013-07-01T20:27:21.930 に答える