嘿伙计们我遇到了一个非常基本的问题,好吧问题是我需要一个主模板,我可以在其中调用页眉,正文和页脚。我无法在标题中发送标题和CSS,以及如何发送多个css文件。我正在做这样的事情:
这是控制器中的代码
$data['title'] = 'Login To WePOS';
$data['css'] = base_url().'style/login-box.css';
$this->load->view('templates/default',$data);
这是标题中的代码
<head>
<title><?php echo $title ?> - CodeIgniter 2 Tutorial</title>
<link href=" <?php echo $css;?>" rel="stylesheet" type="text/css" />
</head>
这是默认情况下模板名称中的代码
<html>
<?php
$this->load->view('templates/header', $data);
?>
<body>
<?php
$this->load->view('login/index', $data);
?>
</body>
<?php
$this->load->view('templates/footer', $data);
?>
</html>
答案 0 :(得分:10)
嗨,在codeigniter中使用模板有不同的方法。
1-您可以使用此程序
在控制器中
$data['main_content'] = 'login_view';
$data['title'] = 'Login To WePOS';
$data['css'] = 'login-box.css';
$this->load->view('templates/default',$data);
在template.php中查看
$this->load->view('header_view');
$this->load->view($main_content);
$this->load->view('footer_view');
在主内容变量中,您可以传递视图文件
如果您想添加多个css或多个js文件,可以使用MY_MARK构思
$data['cssFiles'] = array(
'login-box.css',
'other.css'
);
并在您的标题文件中
if(is_array($cssFiles)){
foreach($cssFiles as $cssFile) {
<link href="<?php echo base_url() . 'style/' . $css; ?>" rel="stylesheet" type="text/css" />
}
}
希望它有所帮助。
答案 1 :(得分:2)
您不必在默认模板中再次传递$ data。
<html>
<?php $this->load->view('templates/header'); ?>
<body>
<?php $this->load->view('login/index'); ?>
</body>
<?php $this->load->view('templates/footer'); ?>
</html>
这应该允许您像当前一样在标题中选取$ title和$ css变量。
关于发送多个css文件,请创建一个文件数组,例如:
$data['cssFiles'] = array(
'login-box.css',
'other.css'
);
将标题中的代码修改为:
foreach($cssFiles as $cssFile) {
<link href="<?php echo base_url() . 'style/' . $css; ?>" rel="stylesheet" type="text/css" />
}
希望有帮助...