2013-03-31 16 views
0

我正在開發Codeigniter項目,需要在多個視圖中使用同一位功能。多個視圖中的可重用功能

這裏是什麼,我想要做一個基本輪廓:

在我的網站的幾個領域,我需要顯示有關用戶的一些信息。此信息包括個人資料圖片,評分以及發送電子郵件或查看評論的鏈接。

顯示必須進行動態修改。由於各種設置,有時候發送電子郵件的鏈接不可用。

現在,有些頁面可能只有其中的一個,有些頁面可能有幾個。

所以我想要做的是構建一個小組件,可以加載,提供用戶信息,然後處理構建顯示。

我的第一個想法是建立一個幫手,但我已經讀過,包括助手在視圖中並不是很好的MVC實踐。那麼CI有什麼其他技術來做這樣的事情?

照顧, 李

+0

如果我正確理解你,你想在多個視圖中使用多個視圖部分,並且不想不斷重複自己。你可以看看這個http://stackoverflow.com/a/15593888/1592648這是一個創建一個模板視圖的例子,它加載了它的通用視圖,並允許你將數據傳遞給它,同時在其中加載一個自定義視圖。 –

回答

0

你可以建立一個局部視圖,並將其加載到主視圖爲HTML的一大塊。

// In Controller 
$data['user_info_box'] = $this->load->view('partials/user_info', $settings, true); 

$this->load->view('main_view', $data); 

然後在你的主視圖中使用那個($user_info_box)。

+0

謝謝。唯一的問題是它有時需要多次和不同的數據。我正在考慮使用圖書館。 –

+0

你可以多次使用它,你必須改變'$ settings'數組和你的相關數據,並得到你需要的任何HTML並傳遞給你的主視圖。 – dakdad

相關問題