PHP CodeIgniter CSS - PullRequest
       1

PHP CodeIgniter CSS

0 голосов
/ 01 июля 2011

Я скачал html-тему с веб-сайта и пытаюсь добавить ее в свой проект codeigniter. Я скопировал и вставил файл .html из папки загруженной темы в мое представление «index_v.php». Я также скопировал папку css прямо в папку views. Файл index_v.php вызывает файл .css следующим образом

<link rel="stylesheet" href="style.css"> 

Тем не менее, когда я загружаю страницу, она не загружает файл .css.

Ответы [ 6 ]

3 голосов
/ 01 июля 2011

Возможно, вы столкнулись с проблемой относительных путей.Если ваш URL-адрес /users/welcome/, он ищет файл /users/welcome/style.css

Решения:

  • Используйте полный URL-адрес: <link rel="stylesheet" href="http://example.com/style.css">

  • Используйте CI link_tag(), которые добавят ваш базовый URL к пути

  • Используйте абсолютный путь: <link rel="stylesheet" href="/style.css">

Если вы не можете получить доступ к файлу напрямую, проверьте файл .htaccess, если вы его используете.Большинство установок CI используют что-то вроде этого:

RewriteCond $1 !^(index\.php|public|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L] 

С этим правилом есть два файла и один каталог, которым разрешен прямой доступ (index.php, каталог с именем public, robots.txt).Остальные направляются через index.php.

Лучше всего создать каталог для всех ваших статических файлов (изображения, CSS и т. Д.) И добавить это имя каталога в список исключений.Хранение этих файлов в корневом каталоге просто вызовет массу беспорядка.

1 голос
/ 01 июля 2011

Вместо этого

<link rel="stylesheet" href="style.css">

Попробуйте это:

<link rel="stylesheet" href="<?php echo base_url();?>"> 

Или, если у вас есть CSS в каталоге с именем css:

<link rel="stylesheet" href="<?php echo base_url();?>css/style.css"> 

Ваш Javascriptбудет работать так же

0 голосов
/ 25 января 2013

Комбинируя некоторые из приведенных выше ответов, я сделал так, чтобы Blueprint.css загрузился в моей установке CodeIgniter:

  1. Создайте папку с именем «static» в корне вашей установки (peer to «application», «system» и «index.php»).
  2. Создайте подпапку с именем «css» (/ static / css)
  3. Скопируйте туда папку с планом(/ static / css / blueprint /)
  4. Открыть .htaccess.Измените это ...

    RewriteCond $1 !^(index\.php|images|robots\.txt)
    

    ... на это:

    RewriteCond $1 !^(index\.php|images|static|robots\.txt)
    
  5. В вашем файле заголовка (например, / application / views / template / header.php), сделайте ваши ссылки относительными к сайту:

    <!-- Framework CSS -->
    <link rel="stylesheet" href="/static/css/blueprint/screen.css" type="text/css" media="screen, projection">
    <link rel="stylesheet" href="/static/css/blueprint/print.css" type="text/css" media="print">
    <!--[if lt IE 8]><link rel="stylesheet" href="/static/css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
    

Обратите внимание, что этот метод работает для любого статического контента (например, Prototype.js, jQuery, обычных изображений и т. д.).Просто сделайте ваши ссылки href сайт-относительными, и это должно работать.

И нет ничего особенного в "static" как имени папки.Это просто имя, которое я выбрал произвольно.

0 голосов
/ 01 июля 2011

В codeigniter пути для содержимого, такого как css, относятся к вашему файлу webroot index.php.

Я советую вам поместить CSS в папку assets / css или / css в webroot, тогда ссылка вашего просмотра будет

<link rel="stylesheet" href="assets/css/style.css">

например.

0 голосов
/ 01 июля 2011

Используйте firebug и посмотрите, по какому URL-адресу браузер пытается разрешить CSS.Бьюсь об заклад, вы обнаружите, что он получает 404.

Попробуйте добавить / приложение до CSS-файла в вашем включении, т.е..

Надеюсь, это поможет

0 голосов
/ 01 июля 2011

Вы должны поместить этот CSS-файл в папку, которую вы используете для обслуживания статического контента (я некоторое время не использовал CI .. возможно static/? Проверьте вашу (apache) rewriterule ...). Затем измените href, чтобы он указывал на файл в этом каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...