codeigniter 中的动态主模板

dynamic master template in codeigniter

我的问题是:

我有主页:

<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 之前做些什么吗? 我不明白问题是什么。

When in a function you can't do anything with it. But can't do anything outside. Like your else statement.

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');