我决定使用CodeIgniter-Skeleton-master(作者Anvoz)来构建我的网站。 我在这个例子中添加了新菜单和子菜单。 设置新菜单我没有问题,因为我复制Todo的例子,制作Todo1,它没有任何问题。 但是,在我在Todo1下显示的所有添加的子菜单显示的网页无法正确访问css和js文件,并且没有css和js显示navbar。 问题是由于网站url()抓住控制器名称todo1而css和js在错误的路径中引起的!
示例:
todo1 ->path : http://localhost/ci3a/ ->this
工作正常而不是所有使用的css和js路径都添加到此并且可以访问他们的文件
todo1/aboutus ->path : http://localhost/ci3a/todo1 ->this
控制器名称-todo1导致错误的路径,并且无法使用css和js文件!
文件组织: 应用 资产,包含css,图像和js子文件夹 系统
在application / config /中 assets.php我有:
$config['assets_url'] = 'assets/';
autoload.php我有:
$autoload['helper'] = array('url');
config.php我有:
$config['base_url'] = '';
$config['index_page'] = '';
routes.php我有:
$route['default_controller'] = "skeleton";
$route['404_override'] = '';
在应用程序/骨架/我有 控制器和视图文件夹
在controllers文件夹中,我有主控制器skeleton.php
在application / views / header.php中我有导航栏菜单结构。 在这里,我把todo menu-> todo1的副本放在2个子菜单中,谁工作但不显示css和js
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Todo1 <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="<?php echo site_url('todo1'); ?>">Todo1</a></li>
<li><a href="<?php echo site_url('todo1/aboutus'); ?>">About us</a></li>
<li><a href="<?php echo site_url('todo1/whereweare'); ?>">Where we are</a></li>
</ul>
</li>
我在这个新的子菜单中添加了类似的索引(在todo1.php控制器中)函数。
public function aboutus()
{
$this->load->library('template');
$this->template->set_layout('pagelet');
$this->template->set_title('Todo example');
$this->template->load_view('todo1/aboutus');
}
我不知道如何消除使css,image和js无法访问的控制器名称。 我试图在root下创建新文件夹todo1并将访问子文件夹复制到其中,但问题仍然存在。 在网络浏览器中,我发现错误:
GET http://localhost/ci3a/todo1/aboutus [HTTP/1.1 200 OK 63ms]
GET http://localhost/ci3a/todo1/assets/css/bootstrap.min.css [HTTP/1.1 404
未找到141ms] 和x类似的错误 你能帮助我吗?
答案 0 :(得分:0)
加载你的css和js
<link href="<?php echo base_url(); ?>assets/css/bootstrap.css" rel="stylesheet" />
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js" type="text/javascript"></script>
这样你的文件夹结构就像这样
1. application
2. assets
- css
1. bootstrap.css
- js
1. bootstrap.js
- images
1. slider.jpg
2. logo.jpg
3. system
4. .htacess
5. index.php
在控制器中只加载您的特定视图
public function aboutus()
{
$this->template->set_title('Todo example');
$this->template->load_view('todo1/header');
$this->template->load_view('todo1/aboutus');//this should contain only about us details
$this->template->load_view('todo1/fotter');
}
所以在header.php
文件中
<!DOCTYPE html>
<html>
<head>
<title>my site ----</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="<?php echo base_url(); ?>assets/css/bootstrap.css" rel="stylesheet" />
<script src="<?php echo base_url(); ?>assets/js/bootstrap.min.js" type="text/javascript"></script>
</head>
in fotter.php
file
<div class="foot">
<div class="social">
<div class="news_letter">
<p>Sign Up For Newsletter</p>
<div class="new_div">
<form action="#" class="form_news" method="post">
<input type="email" class="news_input" placeholder="E-Mail" name="email" required>
<input type="submit" class="news_button" value="Subscribe" name="news_but" >
</form>
</div>
</div>
<div class="follow">
<p>Follow Me</p>
<ul class="soc">
<li><a class="soc-facebook" href="#" target="_blank"></a></li>
<li><a class="soc-twitter" href="#"></a></li>
<li><a class="soc-linkedin soc-icon-last" href="#"></a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div class="copyright navbar navbar-default">
<div class="copy_in">
<div class="foot_nav navbar-text">
<ul>
<a href="<?php echo base_url();?>"><li class="list_border">Home</li></a>
<a href="<?php echo base_url();?>index.php/aboutUs"><li class="list_border">About Us</li></a>
<a href="<?php echo base_url();?>index.php/product"><li class="list_border">Products</li></a>
<a href="<?php echo base_url();?>index.php/corsair"><li class="list_border">Corsair</li></a>
<a href="<?php echo base_url();?>index.php/contact"><li>Contact Us</li></a>
</ul>
</div>
<div class="foot_copy_text">
<p class="navbar-text">
© 2015 - comany name. Solution By : <a href="#" target="_blank">My office name</a>
</p>
</div>
</div>
</div>
</div>
</body>
介于两者之间(例如:关于我们页面)
<div class="container">
<h1>Im About us</h1>
<!-- rest of code here -->
</div>
例如:联系
<div class="container">
<h1>Im contact</h1>
<!-- rest of code here -->
</div>