CodeIgniter Skeleton,子菜单丢失了css和js的路径

时间:2015-07-02 07:56:44

标签: codeigniter

我决定使用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类似的错误 你能帮助我吗?

1 个答案:

答案 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>