CodeIgniter altbilgi-header-kenar çubuğu için MVC

2 Cevap php

Ben CodeIgniter'ı kullanın. Ben db değişkenleri almak ve göndermek için bir denetleyici oluşturmak yerine örneğin hakkımızda sayfası için, ben db eylemler için model oluşturmak .. footer_view.php, header_view.php vb aboutus, Contactus gibi sayfaları için diğer görünüm php dosyaları var : hakkımızda değişken olarak görmek

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

Her şey bu noktaya kadar gayet iyi, ama ben footer'larındaki db den veri almak için gereken zaman, nasıl CodeIgniter Way kullanmak olacak?

Ben bir footer_model oluşturursanız aslında bir parçası olduğu için, ben view('footer/') yapamazsınız eğer sayfa değil, bir sayfa kendisi :/

2 Cevap

Sen kullanabilirsiniz $ this-> load-> ($ veri) vars;

Bu, tüm görünümler, footer_view.php, header_view.php ve diğer görünümleri tüm veriler sağlayacaktır.

$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');

Sen can görüntüleyebilir ve böylece gibi verilere erişecek:

Sizin "birincil" görünümü

<?php
// your_view.php
// this can access data
$this->load->view('header_view');
<?php foreach ($your_info as $r):?>
<?php echo $r->first_name;?>
<?php echo $r->last_name;?>
<?php endforeach;?>
$this->load->view('footer_view');
?>

Sizin header_view

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

Sizin footer_view

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

Herhangi bir şablon kütüphanesi için gerek yok ...

Ben yaklaşık bir blog yazısı yazdı bu http://joshhighland.com/blog/2008/11/09/how-i-do-layouts-and-views-in-codeigniter/

temelde, tüm görünümleri kontrolör ihtiyacımız olacak tüm verilerini yüklemek istiyorum. Ben o düzeni görünümüne geçmek olduğunu, veri elemanlarının bir dizi kullanabilirsiniz. Benim blog yazısı bu konuda daha açıklar, ve daha fazla ayrıntı gösterir. İşte benim denetleyicisi bir örneğidir.

$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);