2015-07-02 3 views
1

Я решил использовать CodeIgniter-Skeleton-master (автор Anvoz) для создания моего веб-сайта. В этом примере я добавил новые меню и подменю. С настройкой новых меню у меня нет проблем, потому что я копирую пример Todo, делаю Todo1, и он работает без проблем. Но во всех добавленных подменю, которые я ввел под Todo1, отображаемая веб-страница не может иметь надлежащий доступ к файлам css и js, а navbar отображается без css и js. Проблема была вызвана тем, что имя узла url() для захвата контроллера todo1 и css и js неверно!CodeIgniter Скелет, подменю потерял путь к css и js

Пример:

todo1 ->path : http://localhost/ci3a/ ->this нормально работать вместо того, чтобы все использовали CSS и JS путь добавлен на это и есть Асесс к своим файлам todo1/aboutus ->path : http://localhost/ci3a/todo1 ->this контроллера имени-todo1 причина неправильного пути и CSS и JS файлы не могут быть использованы!

Организация файлов: приложение активов, содержат CSS, изображения и JS подпапки системы

В приложении/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'] = ''; 

В приложении/скелетом/я есть контроллеры и просмотр папок

In папку контроллеров у меня есть главный контроллер skeleton.php

В приложении/views/header.php у меня есть структура меню навигации. Здесь я положил копию TODO меню-> 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) для этого нового submenuus)

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, изображение и js неприемлемыми. Я попытался создать новую папку todo1 под root и скопировать туда доступ к ней, но проблема осталась. В веб-браузере, я Cought ошибки:

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] и х подобные ошибки Можете ли вы кого-нибудь помочь мне?

ответ

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 file

<!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> 

в так в fotter.php файл

<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> 
+0

Проблема в применении файла/конфигурации/assets.php Заменить строку: $ config ['assets_url'] = 'активы/'; с: $ config ['assets_url'] = '/ assets /'; Также замените эту строку в приложении/helpers/My_url_helper.php: return $ assets_url. trim ($ uri, '/'); с: return base_url ($ assets_url. Trim ($ uri, '/')); –

+0

Проблема решена ?? –

+0

Да, с этими утверждениями в assets.php и My_url_helper.php! Один из друзей помог мне отменить этот ответ, здесь, в моем городе! –

Смежные вопросы