私はCIの初心者です。メインコントローラーとしてMY_Controller.phpを使用しました。div#pageローダーとしてajaxを開くことができます。さて、私の問題は、/ aboutページをロードしても、サービスモデルのデータベースエントリを取得することです。アバウトコントローラーのアバウトテーブルを取得するにはどうすればよいですか?
..
function render_page($view) {
if( ! $this->input->is_ajax_request() )
{
$this->load->view('templates/header', $this->data);
}
$this->load->view($view, $this->data);
if( ! $this->input->is_ajax_request() )
{
$this->load->view('templates/menu');
$this->load->view('templates/footer', $this->data);
}
}..
私のservices_model:
class Services_model extends CI_Model {
function getAll() {
$q = $this->db->get('services');
if($q->num_rows() > 0){
foreach ($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
}
}
私のホームコントローラー:
public function view($page = 'home')
{
$this->load->helper('text');
$this->data['records']= $this->services_model->getAll();
if ( ! file_exists('application/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->render_page('pages/'.$page,$data);
}
ホームビューでそれらを使用すると、問題はありません。services_tableを見ることができます。
<ul class="blog-medium">
<?php foreach($records as $row): ?>
<li>
<div class="blog-medium-text">
<h1><a href="./post.html"><?php echo $row->title; ?></a></h1>
<p class="blog-medium-excerpt"><?php echo $row->content; ?><br />
<a href="./post.html" class="read_more">Devamını Okumak için →</a></p>
</div>
<?php endforeach ?>
アバウトページでも同じように使いたいです。About_model:
class About_model extends CI_Model {
function getAll() {
$q = $this->db->get('abouts');
if($q->num_rows() > 0){
foreach ($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
}
}
コントローラーについて:
public function view($page = 'about')
{
$this->load->helper('text');
$this->data['records']= $this->about_model->getAll();
if ( ! file_exists('application/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->render_page('pages/'.$page,$data);
}
そして、これは約の私のビューファイルです:
<div id="content">
<?php foreach($infos as $row): ?>
<h3 style="text-align: center;"> <?php echo $row->title; ?></h3>
<div class="hr"> </div>
<?php echo $row->content; ?>
<?php endforeach; ?>
エラーが発生しました:
Severity: Notice
Message: Undefined variable: infos
Filename: pages/about.php
Line Number: 3
アバウトテーブルを取得できないのはなぜですか?