codeigniter中的动态主模板

时间:2016-06-09 21:47:26

标签: codeigniter master-pages

我的问题是:

我有一个主页:

<head>
    <meta charset="utf-8" />
    <title><?php echo isset($title)? $title: NULL; ?></title>
    <?php $this->load->view('layout/header'); ?>
</head>
<body>           
     <!-- BEGIN PAGE BASE CONTENT -->
         <?php $this->load->view($content);?>
     <!-- END PAGE BASE CONTENT -->       
</body>

和我的仪表板控制器:

class Dashboard extends CI_Controller {

    public function index()
    {
      if($this->session->userdata('login') == true){
        $data['title'] = 'Dashboard';
        $data['content'] = 'pages/dashboard';
        $this->load->view('layout/master', $data);
    }
    else{
        redirect('auth');
    }
    }

和我的添加控制器:

if($this->session->userdata('login') == true){
    $data['title'] = 'افزودن مشتری';
    $data['content'] = 'pages/add_customer';
    $this->load->view('layout/master', $data);
}
else{
    redirect('auth');
}

我的问题是,首先当我调用仪表板时,一切正常。但是当我打电话给add时,一切都搞砸了,就像没有附加CSS或其他东西一样。 我应该在设定值为$ content之前做些什么吗? 我无法理解问题所在。

1 个答案:

答案 0 :(得分:0)

  

在功能中,你无法做任何事情。但外面无能为力。像你的其他声明。

public function add(){
    $data['title'] = 'افزودن مشتری';
    $data['content'] = 'pages/add_customer';
    $this->load->view('layout/master', $data);
}
else{
    redirect('auth');
}

这是完全错误的做法。只需使用

public function add(){
    $data['title'] = 'افزودن مشتری';
    $data['content'] = 'pages/add_customer';
    $this->load->view('layout/master', $data);
}

加载阿拉伯字母的Codeigniter

默认情况下,Codeigniter设置为使用UTF-8来实现其大部分内部功能,因此请确保在application/config/config.php文件中将字符集设置为UTF-8。

$config['charset'] = "UTF-8";

并设置标题

header('Content-Type: text/html; charset=utf-8');