[英]How to load css in codeigniter
我是codeigniter的新手,我正在使用v.2.12。 我嘗試從外部文件加載css時收到錯誤。
我在應用程序文件夾中創建了css文件夾。 我以all.css的名義創建了css文件。
在視圖文件中,我使用以下代碼鏈接css文件。
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>css/all.css">
但是css文件沒有加載。 我收到404錯誤。 這是我的配置設置:
$config['base_url'] = 'http://webscarlets.com/ci/index.php';
$config['index_page'] = 'index.php';
網站鏈接: http : //webscarlets.com/ci/index.php/welcome 。
這是你在CodeIgniter中包含CSS文件的方法:
<?php echo link_tag('css/mystyles.css'); ?>
該片段將輸出此HTML:
<link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />
函數link_tag
位於HTML幫助程序中 ,必須首先加載。
(請注意,您可能不應該將您的CSS文件放在/application/css
。將它們放在/css
或者/assets/css
更容易。)
函數base_url()應該返回基本路徑(沒有index.php)
您可以通過添加反斜杠來修復它:
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>/css/all.css">
或者從配置中刪除index.php:
$config['base_url'] = 'http://webscarlets.com/ci/';
我找到了避免index.php文件並加載我們的CSS文件的解決方案。 只需將以下代碼復制到.htaccess文件中:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
問候!
在控制器操作/application/controllers/yourController.php中添加以下行
$this->load->helper('url');
然后在視圖文件的head標記中添加以下行。
<link rel="stylesheet" type="text/css" href="<? echo base_url('assets/css/yourcssfile.css');?>" />
假設您在app目錄中創建了assets / css / folder。
<path to your app folder>/assets/css
在使用base_url()
之前,您必須加載URL幫助程序類。
像$this->load->helper('url');
在你的控制器中
base_url()
返回類似的路徑
'http://webscarlets.com/'
如果您直接在根目錄中設置它或'http://webscarlets.com/dir/'
並確保CSS文件的位置。
點擊鏈接了解有關URL Helper的更多信息
另一種方式
在constants.php中定義一個常量(在config目錄中)
define("LAYOUT_URL","http://localhost/yoursite/css/");
這里的“css”文件夾我假設是在應用程序文件夾里面。 你可以在頁面中附加css嗎?
<link rel="stylesheet" type="text/css" href="<?php echo LAYOUT_URL;?>all.css">
作為Jogesh_p 。
你使用base_url作為跟隨放入控制器(你的控制器)
$this->load->helper('url');
在控制器中 。 如果你想使用
如下所示使用base_url。
echo base_url()
注意:最好在root用戶創建新文件夾
(例如:主題)相同:應用程序,系統,user_guide,主題)
我希望你能做到
要附加一個CSS,JS,Images .etc,您只需要轉到config文件夾並在constant.php文件的末尾寫入。
define('URL','ADD YOUR LOCAL/REMOTE PATH');
define('CSS',URL.'public/css/');
define('IMAGES',URL.'public/images/');
define('JS',URL.'public/images/');
之后轉到您的視圖並在鏈接中添加
<link rel="stylesheet" type="text/css" href="<?php echo CSS; ?>index.css">
這將解決您的問題。
希望能幫助到你。
編輯autoload.php如下
$autoload['helper'] = array('url');
然后像這樣加載css,js,image
img src="<?php echo base_url(); ?>assets/images/master.jpg"</img>
//config.php
$config['base_url'] = 'http://webscarlets.com/ci/';
$config['index_page'] = 'index.php';
並嘗試通過添加應用程序文件夾來加載css
<link rel="stylesheet" type="text/css" href="<? echo base_url();?>application /css/all.css">
編輯
這里base_url()
回聲'http://webscarlets.com/ci/'
然后添加路徑application /css/all.css
的文件
包括$this->load->helper('html');
在控制器功能中。
並在視圖文件中使用linktag
關鍵字,如下所示:
<html>
<head>
<title></title>
<?php echo link_tag('resources/style.css');?>
</head>
<body>
<?php
....
?>
</body>
這里的資源是包含style.css文件的文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.