我刚开始使用CodeIgniter,但我无法弄清楚如何理清我的观点。
我已经制作了一个示例布局来解释我的问题,并附在此帖子上。
我有一个菜单框,一个用户系统框和一个内容框。
在过程PHP中,我将有一个名为 index.php 的页面,其中包含 GET 的参数,包括内容。 用户系统只会包含在框内的 index.php 文件中,菜单也会包含在内。
如何使用MVC和CodeIgniter以正确的方式执行此操作?
答案 0 :(得分:2)
试试Most Simple Template Library for CodeIgniter。它允许你做你在php示例中所做的事情。创建一个“主”视图,并使用您的控制器将您的内容传递给它。您可以为身体,内容,侧边栏等创建“子主题”。
答案 1 :(得分:1)
希望您已在计算机上配置codeigniter。
现在在控制器文件夹中创建一个文件 例如 : d:\瓦帕\ WWW \ demoProject \应用\控制器\ homePage.php
在homePage控制器中添加以下代码
<?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:\瓦帕\ WWW \ demoProject \应用\视图\ list_homePage.php
将您的HTML代码放入视图文件中。
希望这会对你有所帮助...... :)
答案 2 :(得分:0)
对于菜单,我会创建一个这样的模型:
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'];
如果用户未登录,您应该执行类似控制用户状态的操作并返回表单,如果用户已登录则返回其他任何内容。