我正在为我的web项目使用codeigniter php框架。我的问题是如何为资产(如css,js和images)设置多个模板布局和基本路径?我想设置前端,登录和后端布局。所以我需要设置3个布局。
我的项目结构
这些是我项目的示例代码。
MY_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class My_Controller extends CI_Controller {
protected $layout = 'admin';
protected $stylesheets = array(
'app.css'
);
protected $javascripts = array(
'app.js'
);
protected function render($content) {
$view_data = array(
'content' => $content,
'stylesheets' => $this->get_stylesheets(),
'javascripts' => $this->get_javascripts()
);
$this->load->view($this->layout,$view_data);
}
protected function get_stylesheets() {
return $this->stylesheets;
}
protected function get_javascripts() {
return $this->javascripts;
}
}
Home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends My_Controller {
public function index() {
$content = $this->load->view('home/index',null,true);
$this->render($content);
}
}
?>
我在互联网上找到了这个链接,但不适合我的项目。 http://williamsconcepts.com/ci/codeigniter/libraries/template/reference.html
答案 0 :(得分:0)
我用过这样的样子,这个样本可以帮到你
用户控制器(controllers / user.php)
<?php
class User extends CI_Controller
{
function displayuser()
{
$data['users'] = array(1,2,3);
$data['inc_page'] = 'display'; // views/display.php page
$this->load->view('user_layout', $data);
}
}
?>
显示视图(views / display.php)
<table border="0" cellspacing="0" cellpadding="3">
<?php
foreach($users as $userid)
{
?>
<tr>
<td><?php echo $userid;?></td>
</tr>
<?php
}
?>
</table>
用户布局(views / user_layout.php)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo $this->load->view($inc_page); ?>
</body>
</html>
答案 1 :(得分:0)
你可以使用site_url(); 在root中创建一个css文件夹。 假设该文件夹名为“css”。
然后假设我们在该文件夹中创建了名为style.css的文件。 所以我们只需要在site_url中调用它。