2014-01-23 175 views
0

我將代碼編碼到CodeIgniter中,我想應用一個CSS模板。我找到了我喜歡的一個並下載它。CodeIgniter資產文件夾的路徑

將css代碼與合併前的代碼合併後,我發現css模板使用的圖像不會加載。最初,他們應該留在HTML文件夾(或www,或public_html,你知道我的意思是什麼...)的根,但我把它們放在與系統文件夾相同的資產文件夾下。

事情是這樣的......

Website Folder 
| 
|---application\ 
|-----(CodeIgniter application folders...) 
|---assets\ 
|-----style.css 
|-----css\ 
|-------mini.css 
|-----images\ 
|-----js\ 
|-----robots.txt 
|---system 
|-----(CodeIgniter system folder...) 
|index.php 

我用Google搜索了幾個小時,我發現this post(後#5)。我嘗試了OP的說法,但它不起作用。

我可以自動載入url_helper加入

$autoload['helper'] = array('url'); 

到autoload.php文件。但是當我添加

<base href="<?php echo base_url() ?>"/> 

圖像仍然不存在。

原始的HTML文件有此行

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

所以,我猜,我要補充的資產/所以它看起來

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

,但仍是圖像丟失。

如果我移動資產文件夾的內容,以根,一切都很好,但當然,這不是AFAIK一個很好的做法...

我BASE_URL是

http://localhost/prog/nonsense/mvc/ 

你問之前,是的,我確實閱讀過.htacces解決方案,但我現在真的不想混淆.htaccess編輯。

這裏有一點幫助可以讚賞。

回答

2

你有沒有檢查.htaccess? 它必須有這樣的:

RewriteCond $1 !^(index\.php|assets|upload|robots\.txt|.*\.css) 
+0

我沒有編輯我.htacces becase的我不想編輯它,除非它是stricly neccesary ...但即使我代替「所有拒絕」與那代碼,圖像丟失... – Ashir

+0

當你訪問此鏈接時你有什麼:http://localhost/prog/nonsense/mvc/assets/images/templatemo_style.css – zerokavn

+0

好的,我看到和錯誤,我沒有發現之前。我的路徑應該是'localhost/prog/nonsense/mvc/assets/style.css',但即便如此...現在一些圖像已丟失... – Ashir

2

我有同樣的事情,你,我稱他們是這樣的:

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

這如果base_url()設置爲我工作和url助手是調用。

我打電話給base_url(),然後assets文件夾,然後style.cssbase_url();?>之後不需要/,因爲base_url()中有一個。

使用內置的HTML功能笨的另一種選擇:

另外,如果你看一下this link,你會看到,你可以使用HTML助手,並通過內置的功能笨的調用它。

這個時候,你不應該需要base_url();

做:

$autoload['helper'] = array('url', 'html'); 

然後在視圖標題補充一點:

<?=link_tag('assets/style.css');?> 

它會輸出到這一點:

<link href="http://localhost/prog/nonsense/mvc/assets/style.css" rel="stylesheet" type="text/css" /> 
+0

你的答案的第一部分是我正在使用的。我的問題是,我好累,我編碼廢話,除此之外,我還沒有發現一些路徑,應該從相對完整轉換。那個螢火蟲插件真的很有用。無論如何,謝謝你的回答:) – Ashir

+0

好吧,不用擔心@Ashir!將來也可以查看一些codeigniter的內置函數,因爲它們可以爲您節省大量時間:) – Albzi

0

base_url也可以用作link_tag:

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

也可以工作,並保持代碼更清潔。

0

是的!我只是在.htacces文件中加入了以下行:

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

我只是添加了一行。 htacces應用程序文件夾的

RewriteCond $1 !^(index\.php|images|robots\.txt) 
相關問題