在CodeIgniter中设置完整的网站页面

时间:2013-01-09 12:10:07

标签: php codeigniter templates page-layout

我刚开始使用CodeIgniter,但我无法弄清楚如何理清我的观点。

我已经制作了一个示例布局来解释我的问题,并附在此帖子上。

我有一个菜单框,一个用户系统框和一个内容框。

在过程PHP中,我将有一个名为 index.php 的页面,其中包含 GET 的参数,包括内容用户系统只会包含在框内的 index.php 文件中,菜单也会包含在内。

如何使用MVC和CodeIgniter以正确的方式执行此操作?

enter image description here

3 个答案:

答案 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'];

如果用户未登录,您应该执行类似控制用户状态的操作并返回表单,如果用户已登录则返回其他任何内容。