我刚开始使用 CodeIgniter,但我不太清楚如何整理我的观点。
我制作了一个示例布局来解释我的问题,并附在这篇文章中。
我有一个菜单框、一个用户系统框和一个内容框。
在程序 PHP 中,我将有一个名为index.php的页面,其中包含来自GET的参数,包括内容。用户系统将只包含在框内的index.php文件中,菜单也是如此。
如何使用 MVC 和 CodeIgniter 以正确的方式做到这一点?
我刚开始使用 CodeIgniter,但我不太清楚如何整理我的观点。
我制作了一个示例布局来解释我的问题,并附在这篇文章中。
我有一个菜单框、一个用户系统框和一个内容框。
在程序 PHP 中,我将有一个名为index.php的页面,其中包含来自GET的参数,包括内容。用户系统将只包含在框内的index.php文件中,菜单也是如此。
如何使用 MVC 和 CodeIgniter 以正确的方式做到这一点?
尝试CodeIgniter 的最简单模板库。它允许您执行您在 php 示例中执行的操作。创建一个“主”视图并使用您的控制器将您的内容引导到它。您可以为正文、内容、侧边栏等创建“子主题”。
希望你已经在你的机器上配置了 codeigniter。
现在在控制器文件夹中创建一个文件,例如:D:\wamp\www\demoProject\application\controllers\homePage.php
在主页控制器中添加以下代码
<?php
class HomePage extends CI_Controller {
var $controller = "homePage";
var $viewContent = array();
function list_homePage() {
// 加载视图页面 // 加载标题视图页面
$this->load->view('xome/header');
// 加载主视图页面
$this->load->view('xome/list_' . $this->controller,
$this->viewContent);
// 加载页脚视图页面
$this->load->view('xome/footer');
}
}
?>
之后在视图文件夹中创建一个文件,例如:D:\wamp\www\demoProject\application\views\list_homePage.php
将您的 html 代码放入视图文件中。
希望对你有帮助... :)
对于菜单,我会创建一个这样的模型:
class mMenu extends CI_Model{
function mMenu(){
parent::__construct();
}
function home(){
$menu = array(
'main_menu' => '<ul>
<li>Menu Link 1</li>
<li>Menu Link 2</li>
<li>Menu Link 3</li>
</ul>'
);
return $menu;
}
}
在控制器中,说家:
function home(){
$this->load->model('mMenu');
$options['menu'] = $this->mMenu->home();
$this->load->view('home_view', $options);
}
在视图文件中,我需要加载菜单的任何地方:
echo $menu['main_menu'];
您应该执行类似的操作来控制用户的状态并在用户未登录时返回表单,如果用户已登录则返回其他任何内容。