當我們加載視圖時,我們可以將一些動態數據傳遞給它。codeigniter中的視圖的默認數據
我想實現的是當視圖沒有收到數據時,它使用從模型(數據庫)加載的一些默認數據。
問題是我真的不想把這些語句(加載默認數據)在視圖中。
什麼是最簡單的解決方案,沒有使用任何擴展如模塊化擴展/分離?
非常感謝大家。
當我們加載視圖時,我們可以將一些動態數據傳遞給它。codeigniter中的視圖的默認數據
我想實現的是當視圖沒有收到數據時,它使用從模型(數據庫)加載的一些默認數據。
問題是我真的不想把這些語句(加載默認數據)在視圖中。
什麼是最簡單的解決方案,沒有使用任何擴展如模塊化擴展/分離?
非常感謝大家。
使用Base Controllers可以將全局數據導入您的視圖。
我出來的東西,希望這有助於。
class Test extends Controller
{
private $data = array();
public function __construct()
{
parent::__constuct();
// Load the default data
$this->load->model('test_model');
$this->data = $this->test_model->get_default_data();
}
public function test()
{
$this->load->model('test_model');
$data = $this->test_model->get_another_data();
if (! empty($data)) {
$this->data = $data;
}
$this->load->view('test_view', $this->data);
}
}
你是正確的,你真的不想從視圖調用模型(這是控制器的用途)。
檢查控制器中的數據;如果您查找的數據不存在,請撥打模型的「默認數據」(當您在控制器中)時。然後將數據傳遞給View。