2016-05-26 60 views
1

我想包括主頁的所有部分。例如,從數據庫獲取站點標題正在header.php中工作,但是當我在index.php中包含header.php時,我遇到了錯誤,我傳遞給具有控制器的視圖文件的變量未知。變量不能在php代碼中包含文件

控制器:

$this->load->model('mobshop'); 
$data['title']=$this->mobshop->get_title(); 
$this->load->view('header',$data); 

查看文件:

<h1> 
<?php echo $title['site_name']; ?> 
</h1> 
+0

你可以'var_dump($ this-> mobshop-> get_title())'? –

+0

header.php上方的「查看文件」? – DFriend

+0

是index.php上面顯示的「Controller」?如果沒有,你怎麼/你在哪裏「包括」index.php? – DFriend

回答

0

假設$this->mobshop->get_title()返回一個字符串,你的觀點將僅僅是這一點。

<h1> 
<?php echo $title; ?> 
</h1> 

如果get_title()回報和陣列相當於此例如

$data['title'] = array('site name' => "My Site"); 

那麼你可以使用你的問題有語法。

在你的問題,你說

但是當我包括的index.php的header.php ....

導致我問,你使用include語句字面上的意思在,include 'header.php';?如果是這樣,您可以通過輸出視圖「CodeIgniter方式」獲得更好的結果。

$this->load->view('header', $data); 
$this->load->view('index'); //which is **not** a great name for a controller IMO 

這種方式$data任何變量也將是可見的index

+0

這將工作,但我不想在提交標題後加載主頁,只是我想要顯示的信息,例如「您的網站標題已成功更新」 – Farzaneh

+0

@Farzaneh,這根本不清楚您顯示的代碼或問題陳述「變量不能在php codeigniter中包含文件中工作」。請編輯您的問題,以更好地瞭解您想要完成什麼以及發生了什麼問題。 – DFriend