Php codeigniter处页脚页眉侧栏的MVC

Php codeigniter处页脚页眉侧栏的MVC,php,codeigniter,templates,Php,Codeigniter,Templates,我使用codeigniter。我有footer_view.php、header_view.php和其他视图php文件,用于aboutus、contactus等页面。。。例如,对于about us页面,我为db actions创建模型,然后创建控制器以获取db变量并将变量发送到about us视图,如下所示: $this->load->view('aboutus/',$data); 在这之前一切都很好,但当我需要从页脚的db获取数据时,我将如何使用CodeIgniter 如果我创

我使用codeigniter。我有footer_view.php、header_view.php和其他视图php文件,用于aboutus、contactus等页面。。。例如,对于about us页面,我为db actions创建模型,然后创建控制器以获取db变量并将变量发送到about us视图,如下所示:

$this->load->view('aboutus/',$data);  
在这之前一切都很好,但当我需要从页脚的db获取数据时,我将如何使用CodeIgniter


如果我创建一个页脚模型,我就不能查看('footer/'),因为它实际上是页面的一部分,而不是页面本身://

我写了一篇关于这个的博客文章

基本上,您希望加载控制器中所有视图需要的所有数据。我使用一个数据元素数组,然后将其传递给布局视图。我的博客文章对此做了更多解释,并显示了更多细节。这是我的控制器的一个示例

$this->load->model('search');

$lastest_albums = $this->search->last_n_albumsAdded(10);
$popular_songs = $this->search->popular_n_songs(10);
$featuredAlbums = $this->search->getFeaturedAlbums();

$body_data['featured'] = $featuredAlbums;
$body_data['newest'] = $lastest_albums;
$body_data['popular'] = $popular_songs;

$layout_data['content_body'] = $this->load->view(’home/homePage’, $body_data, true);

$this->load->view('layouts/main', $layout_data);

您可以使用$this->load->vars($data)

这将使所有视图、footer_view.php、header_view.php和任何其他视图都可以使用所有数据

$data['your_info'] = $this->user_model->get_info();
$data['your_latest_info'] = $this->user_model->get_latest_info();
$data['your_settings_info'] = $this->user_model->get_settings_info();

$this->load->vars($data);

$this->load->view('your_view');
您可以并将访问以下数据:

您的“主要”视图


$this->load->view('footer_view');
?>
你的标题是什么

<?php
// header_view.php
<?php echo $your_latest_info->site_name;?>
?>

?>
您的页脚视图

<?php
// footer_view.php
<?php foreach ($your_setting_info as $setting):?>
<?php echo $setting->pages;?>
<?php endforeach;?>
?>

?>
不需要任何模板库

<?php
// footer_view.php
<?php foreach ($your_setting_info as $setting):?>
<?php echo $setting->pages;?>
<?php endforeach;?>
?>