2012-08-25 85 views
6

我想將我的網站遷移到CI中。 我只是簡單地從ci示例文件welcome.php 在index()函數中修改,我加載視圖來顯示。然而,我在頭文件中放了很多javascript和css文件。 並由$this->load->view('header'); 調用它,但我無法正確加載JavaScript文件! 任何人都可以給我一些提示嗎?它很難配置如何設置正確的路徑。如何在codeigniter ci中加載javascript css文件

<script type="text/javascript" src="/assets/javascripts/order.js"></script> 
<script type="text/javascript" src="../assets/javascripts/order.js"></script> 
<script type="text/javascript" src="../../assets/javascripts/order.js"></script>  

我控制器代碼如下

class Welcome extends CI_Controller { 

public function index() 
{ 
    $this->load->helper('url');  
    $this->base = $this->config->item('base_url'); 

    $this->load->view('header'); 
    $this->load->view('welcome_message'); 


} 

}

初級講座是我的文件夾結構

enter image description here

回答

7

把你的資產文件夾applications, system, assets

不是在應用和簡單的負載控制器url輔助類,你叫頭視圖部分類似

$this->load->helper('url'); 
$this->load->view('header'); 

,並簡單地使用像這樣在你的頭文件..
因爲$this->base_url()回報/文件夾..

<script src="<?php echo $this->base_url();?>assets/javascript/jquery.js"></script> 

更改文件夾結構,因爲應用程序文件夾中訪問僅僅是我知道的最核心的部分..

這裏是鏈接,如果你想知道更多關於URL Helper

+0

謝謝你或你的支持。順便說一句,如果我想使用一些圖書館,如phpMailler或zend framwork。 sholud我把這些文件夾放在應用程序,系統級別,重新嗎? – newBike

+0

@poc是真的,我沒有太多關於codeigniter的經驗,所以我認爲這些庫你必須放在third_party文件夾中。 –

+0

@poc是的,你可以把'third_party'文件夾,並瞭解更多關於第三方文件夾,請按照鏈接http://stackoverflow.com/questions/5248158/codeigniter-2-0-third-party-folder –

0

Jogesh_p的回答肯定會解決你的資產負載問題。我想跟進你給的這個問題

謝謝你或你的支持。順便說一句,如果我想使用一些圖書館 像phpMailler或zend framwork。

你可以把應用程序/庫/

然後使用圖書館的類名稱

$this->load->library('phpmailer'); 

,是你的選擇,加載在構造上或個人將其加載到控制器方法。

祝你好運!

2

這是用最少的代碼

<script src="<?php echo base_url('assets/javascript/jquery.js');?>"></script> 
<script src="<?php echo base_url('assets/css/bootstrap.min.js');?>"></script> 
-2


資產/ CSS/bootstrap.min的最佳途徑。CSS」

<!-- Include JS --> 
    <script src="<?php echo base_url();?>assets/js/jquery.js"></script> 
    <script src="<?php echo base_url();?>assets/js/bootstrap.min.js"></script> 
+0

你能否也請添加一些解釋? – d4Rk

+0

除了這個問題已經用「base_url()」解決了,不需要重複那個答案。 –

-2
function addcategory() 
{ 
    //alert("<?php echo base_url();?>") 
    $.ajax({ 
       complete: function() {}, //Hide spinner 
       url : '<?php echo base_url();?>category/search', 
       data:$('#add_category').serialize(), 
       type : "POST", 
       dataType : 'json', 
       success : function(data) { 
        if(data.code == "200") 
        { 
         alert("category added successfully"); 
        } 

         }, 
       beforeSend: function(XMLHttpRequest){}, //$.blockUI(); 
         cache: false, 
         error : function(data) { 
          } 
      }); 

} 
+0

功能readURL(輸入){ \t \t如果(input.files && input.files [0]){ \t \t變種讀者=新的FileReader(); \t \t reader.onload = function(e){ \t \t $('#photo')。attr('src',e.target.result); \t \t} \t \t reader.readAsDataURL(input.files [0]); \t \t} \t} \t \t $(「#category_photo」)。(功能(){ \t \t readURL(this); \t \t}); – user3437895

+0

class Globel_model extends CI_Model parent :: __ construct(); //調用模型構造函數 函數__construct() //調用模型構造函數 ($ tablename,$ data) } function add_record($ tablename,$ data) { \t $ this-> db-> insert($ tablename,$ data); \t return; } } – user3437895

+2

您可以編輯您的答案,以便它包含所有代碼。並請提供一些關於您的解決方案的其他信息 - 代碼難以掌握。 – Glorfindel

0

爲了解決我的問題,我創建輔助功能加載的資產,這裏是我的代碼部署在我的應用程序 PS:首先,我計劃好/靈活的目錄結構

[some_helper.php]

/* 
* Created: 2017/12/14 00:28:30 
* Updated: 2017/12/14 00:28:39 
* @params 
* $url_structure = 'assets/js/%s.js' 
* $files = ['main.min', 'social'] 
* $echo = FALSE 
* 
*/ 

function load_js($files = [], $url_structure = NULL, $version = '1.0', $echo = FALSE){ 
    $html = ""; 
    foreach ($files as $file) { 
     if($url_structure){ 
      $file = sprintf($url_structure, $file); 
     } 
     $file_url = base_url($file); 
     $html .= "<script src=\"{$file_url}?v={$version}\"></script>"; 
    } 
    if($echo) { 
     echo $html; 
    } 
    return $html; 
} 

/* 
* Created: 2017/12/14 00:28:48 
* Updated: 2017/12/14 00:28:51 
* @params 
* $version = '1.0' // Later load from configuration 
* $url_structure = 'assets/js/%s.css' 
* $files = ['main.min', 'social'] 
* $echo = FALSE 
* 
*/ 

function load_css($files = [], $url_structure = NULL, $version = '1.0', $echo = FALSE){ 
    $html = ""; 
    foreach ($files as $file) { 
     if($url_structure){ 
      $file = sprintf($url_structure, $file); 
     } 
     $file_url = base_url($file); 
     echo "<link rel=\"stylesheet\" href=\"{$file_url}?v={$version}\">"; 
    } 
    if($echo) { 
     echo $html; 
    } 
    return $html; 
} 

然後調用在視圖

[some_view.php]

$css = [ 
    'path' => 'assets/css/%s.css', 
    'files' => ['bootstrap.min','style'] 
]; 
load_css($css['files'], $css['path'], '1.0', TRUE); 

希望它可以幫助別人。 在OP $css['path'] = 'application/assets/css/%s.css';的情況下將會訣竅。

已更新Github上的代碼,我將不斷更新。