我对当前的 CodeIgniter 有点问题。我有一个带有“页面”控制器的 CI 安装,该控制器从 /views 加载静态文件,但它最多只能到达 1 个子文件夹,我希望向其中添加另一个子文件夹。
它几乎做了以下事情:
- 如果请求的 URL 段(例如 site.com/url)作为文件位于 /views 中(例如 /views/url.php),它会从那里加载它,但如果 URL 段(例如 url)实际上是里面的文件夹/views 它将从该文件夹加载 index.php(例如 /views/url/index.php,而 URL 仍然是 site.com/url)。
- 以上内容适用于任何其他文件名,而不仅仅是 index.php。如果我有 site.com/url/buy,它会从 /views/url 文件夹加载 buy.php 文件。
我想要实现的是在这个结构中添加一个新的子文件夹:
- 如果我去 site.com/url/buy/faq 从 /views/url/buy 加载 faq.php 文件等等..
当前的 Pages.php 控制器如下:
class Pages extends CI_Controller {
public function view($page = 'index', $sub_page = 'index') {
if ($page == 'index') {
$path = $page . '.php';
} else {
$path = $page . '/' . $sub_page . '.php';
}
if (!file_exists('application/views/pages/' . $path)) {
if (!file_exists('application/views/pages/' . $page . '.php')) {
show_404();
} else {
$path = $page . '.php';
}
}
// $this->output->cache(60);
// $this->output->enable_profiler(TRUE);
$data['title'] = ucfirst($page);
$data['url'] = lcfirst($page);
$this->load->view('pages/modules/header', $data);
$this->load->view('pages/'. $path, $data);
$this->load->view('pages/modules/footer', $data);
}
}
你们有什么建议吗?
提前致谢!