CodeIgniter - загрузка CSS - PullRequest
       8

CodeIgniter - загрузка CSS

20 голосов
/ 30 июня 2009

Я занимаюсь разработкой пользовательского API для веб-решения и использую шаблон проектирования MVC. У меня есть папка модулей, так что я могу менять и вставлять модули, а также работать с разделами, не нарушая работу проверенного кода. Моя единственная проблема сейчас заключается в том, что я хочу загружать CSS в любое место, и мое приложение правильно импортирует файл css в тег head. Я знаю, что CodeIgniter делает это, но я не знаю, как.

Используя PHP, как мне загрузить файл CSS в любом месте, а затем заставить код правильно импортировать CSS внутри тегов head, как это делает CodeIgniter?

Заранее спасибо.

Ответы [ 8 ]

30 голосов
/ 30 июня 2009

Вы можете загрузить несколько представлений одновременно или просмотры внутри других представлений.

Так что в этом случае я рекомендую вам создать одно представление заголовка, где вы загружаете все файлы CSS и JS

пример:

<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    <link rel="stylesheet" href="<?php echo base_url();?>css/moorainbow.css" type="text/css" media="screen"/>
    </head>
    <body>

И назовите это как:

$this->load->view('header');
$this->load->view('view1');
$this->load->view('view2');

Таким образом, вы можете управлять файлами (css + js + и т. Д.), Которые вы загружаете в один файл.

Regrads
Педро
@ Pcamacho

7 голосов
/ 30 июня 2009

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

<style> @import url('/css/styles.css'); </style>

Если ваша папка CSS находится в корне вашего проекта CodeIgniter, вы можете сделать что-то подобное, используя функцию base_url () CodeIgniter:

<style> @import url('<?=base_url()?>/css/styles.css'); </style>

Это гарантирует, что ваши страницы остаются переносимыми и имеют правильный абсолютный URL. Надеюсь это поможет! Если нет, попробуйте немного конкретизировать свой вопрос

3 голосов
/ 29 августа 2012

также убедитесь, что вы не перенаправляете URL в файле .htaccess, разрешите css

.htaccess файл

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

Также вот что я добавил в свой шаблон заголовка

$this->load->helper("url");
echo link_tag(base_url().'css/styles.css');
3 голосов
/ 30 июня 2009

Использовать абсолютное значение & hellip;

<link rel="stylesheet" type="text/css" href="http://example.com/style/css">

& hellip; или корневой относительный URI.

<link rel="stylesheet" type="text/css" href="/style/css">
2 голосов
/ 30 июня 2009

вы можете сделать то же самое, что и я, в вашем файле просмотра сделайте следующее

<link rel="stylesheet" href="{pathToApp}/styles/main.css" type="text/css" media="screen" />

(после создания папки стилей в каталоге приложения) затем в вашем контроллере передайте это:

$path = '../system/application';

в массив и отправьте массив в качестве второго параметра, если вы используете load-> view для загрузки своего представления, вам нужно изменить {pathToApp} на $ array ['path'] (замените $ array на то, что вы назвали Это). Если вы используете встроенную систему шаблонов CodeIgniter, то все готово. По крайней мере, таким образом вам не нужно будет менять абсолютный URL при переносе сайта.

1 голос
/ 23 октября 2012

Я понял одну важную вещь: RewriteCond в .htaccess ссылается на ПАПКИ, а не ТИПЫ ФАЙЛОВ. Другими словами, размещение |css| там не поможет, если ваши таблицы стилей не находятся в папке / css /. Список фактических папок, так что |styles| или |scripts| или что-то еще. ТОГДА и только тогда будет использоваться "<?=base_url()?>styles/style.css" (например). Мне потребовалось около 2 дней, чтобы понять это, поэтому я надеюсь, что чтение этого сэкономит кому-то волосы и высокое кровяное давление.

0 голосов
/ 21 июля 2016

Сначала вы создаете функцию Controller и загружаете помощник HTML для вызова css в Codeigniter.

образец кода

<?php 
class Home extends CI_Controller{

    public function helper(){
        $this->load->helper('html');    
        $this->load->helper('url'); 
        $this->load->view('index');

    }
}
?>

Затем вызвать файл CSS с помощью ключевого слова link_tag. Примерно так в файле index.php в

<html>
<head>
    <title></title>
     <?php echo link_tag('css/moorainbow.css');?>
</head>
<body>
<?php 
.....
?>
</body>
</html>

Здесь css/ - это папка, содержащая файл moorainbow.css.

0 голосов
/ 31 декабря 2013

сделать это

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

, но сначала создайте папку css в корневом каталоге и поместите туда style.css.

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