我用CodeIgniter框架构建了一个网站。Codeigniter - 根本无法加载任何视图
不幸的是,我在CodeIgniter的load->view()
函数中遇到问题。
每次我尝试加载另一个视图文件的代码$this->load->view('any_view_file');
我得到的错误:
unable to load the requested file 'any_view_file'.php
例如我有与$这 - 问题>负载>视图(“available_lessons。 php',$ data);命令。所以让我们尝试重现问题,并通过觉得这...
- 我打电话的load_available_lessons()的Lessons.php控制器功能
- 的load_available_lessons()函数使用get_lessons()函数db_model.php模型并将结果保存在$ data ['result']。
- 然后,load_available_lessons()函数调用available_lessons视图文件,同时解析$数据它。
- 这是问题出现的地方。 CodeIgniter无法加载视图。正如我前面解释的,CodeIgniter无法加载任何视图... !!!
有什么建议吗?
我的.htaccess文件:
RewriteEngine on
RewriteCond $1 !^(index\\.php|images|css|lessons|robotos\\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
从我的config.php文件:
$config['index_page'] = '';
从我的routes.php文件文件:
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
$route['translate_uri_dashes'] = TRUE;
我Pages.php控制器:
<?php
class Pages extends CI_Controller {
public function view($page = 'home')
{
if (! file_exists(APPPATH.'views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
else
{
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
}
}
}
?>
我Lessons.php控制器:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Lessons extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('db_model');
/* $this->load->library('acl'); */
/* $this->load->helper(array('form', 'url')); */
}
public function index()
{
$this->load->view('available_lessons', array('error' => ' '));
}
public function load_available_lessons()
{
$data['result'] = $this->db_model->get_lessons();
$this->load->view('available_lessons.php', $data); /* available_lessons */
}
}
?>
我db_model.php型号:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class db_model extends CI_Model{
public function __construct()
{
parent::__construct();
}
public function new_lesson($data)
{
/* Inserting in Table "lessons" of CodeIgniter's Database */
$this->db->insert('available_lessons', $data);
}
public function get_lessons() /* $data */
{
/* Get lessons from Table "lessons" of CodeIgniter's Database */
$this->db->select('Name, Description, DateAdded, LastEdit, UserID, FileName');
$this->db->from('lessons');
$query = $this->db->get();
return $result = $query->result();
}
}
?>
我available_lessons。PHP查看文件:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<div class="container">
<h6 class="description">Browse Lessons</h6>
<div class="row">
<section id="lessons-panel" class="col-xs-12 col-md-8 col-md-offset-2">
<table>
<tr>
<th>Content</th>
</tr>
<?php foreach($this->result as $r): ?>
<tr><?php echo $r->content; ?>
</tr>
<?php endforeach; ?>
</table>
</section>
</div>
</div>
如果你在/ views下的子目录中的'any_view_file.php'需要执行'$ this-> load-> view('subdir/any_view_file.php','');' – ourmandave
@ourmandave if view是一个php文件,你不需要包含'.php' http://www.codeigniter.com/user_guide/general/views.html#loading-a-view $ this-> load->视图( '子目录/ any_view_file'); – user4419336
您是否为控制器命名了正确的文件名http://www.codeigniter.com/user_guide/general/controllers.html#let-s-try-it-hello-world和http://www.codeigniter.com/user_guide /general/styleguide.html#file-naming – user4419336