2012-08-25 24 views
6

tôi muốn di chuyển trang web của mình sang CI. tôi chỉ cần sửa đổi từ tập tin mẫu ci welcome.php trong hàm index(), tôi tải chế độ xem để hiển thị. Tuy nhiên, , tôi đặt nhiều tệp javascripts và css vào tệp tiêu đề. và gọi điện thoại theo số $this->load->view('header'); nhưng tôi không thể tải các tệp javascript chính xác! Có ai cho tôi một số lời khuyên không? thật khó để định cấu hình cách thiết lập đường dẫn chính xác.Cách tải các tệp javascript css trong codeigniter ci

<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>  

mã điều khiển của tôi như sau

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'); 


} 

}

belows là cấu trúc thư mục của tôi

enter image description here

Trả lời

7

đặt thư mục nội dung của bạn với applications, system, assets

không trong ứng dụng và tải đơn giản lớp url helper trong bộ điều khiển nơi bạn gọi một cái gì đó xem tiêu đề phần như

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

và chỉ cần sử dụng một cái gì đó như thế này trong tập tin tiêu đề của bạn ..
$this->base_url() bù lại / thư mục ..

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

Thay đổi cấu trúc thư mục vì truy cập trong thư mục ứng dụng chỉ dành cho phần cốt lõi mà tôi biết ..

đây là liên kết nếu bạn muốn biết thêm về URL Helper

+0

cảm ơn bạn hoặc sự hỗ trợ của bạn. btw cách nếu tôi muốn sử dụng một số thư viện như phpMailler hoặc zend framwork. sholud tôi đặt những thư mục trong applicaions, hệ thống cấp, reight? – newBike

+0

@poc là sự thật, tôi không có nhiều kinh nghiệm về codeigniter, vì vậy tôi nghĩ rằng các thư viện này bạn phải đặt trong thư mục third_party. –

+0

@poc có bạn có thể đặt vào thư mục 'third_party' và để biết thêm về thư mục của bên thứ ba, hãy truy cập liên kết http://stackoverflow.com/questions/5248158/codeigniter-2-0-third-party-folder –

0

Câu trả lời của Jogesh_p chắc chắn sẽ giải quyết vấn đề tải nội dung bạn có. Tôi muốn theo dõi câu hỏi này bạn đã cung cấp

Cảm ơn bạn hoặc sự hỗ trợ của bạn. btw cách nếu tôi muốn sử dụng một số thư viện như phpMailler hoặc zend framwork.

Bạn có thể đưa vào ứng dụng/thư viện/

Sau đó tải nó trong bộ điều khiển sử dụng Class' của Thư viện Tên

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

lựa chọn của bạn của nó để tải ở trên các nhà xây dựng hoặc trên cá nhân phương pháp.

Chúc may mắn!

2

Đây là cách tốt nhất với mã tối thiểu

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


tài sản/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

Bạn cũng có thể thêm một số lời giải thích? – d4Rk

+0

Bên cạnh câu hỏi đã được giải quyết với "base_url()", không cần phải lặp lại câu trả lời đó. –

-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

function readURL (input) { \t \t if (input.files && input.files [0]) { \t \t var reader = new FileReader(); \t \t reader.onload = function (e) { \t \t $ ('# ảnh'). Attr ('src', e.target.result); \t \t} \t \t reader.readAsDataURL (input.files [0]); \t \t} \t} \t \t $ ("# category_photo").change (function() { \t \t readURL (this); \t \t}); – user3437895

+0

lớp Globel_model mở rộng CI_Model { chức năng __construct() { // Gọi hàm tạo mô hình parent :: __ construct(); } chức năng add_record ($ tablename, $ data) { \t $ this-> db-> insert ($ tablename, $ data); \t trở về; } } – user3437895

+2

Bạn có thể chỉnh sửa câu trả lời của mình để câu trả lời bao gồm tất cả mã. Và vui lòng cung cấp thêm một số thông tin về giải pháp của bạn - một bức tường mã khó nắm bắt. – Glorfindel

0

Để giải quyết vấn đề của tôi, tôi tạo ra hàm trợ giúp để tải nội dung Và đây là mã của tôi triển khai trong ứng dụng của tôi PS:.. Đầu tiên tôi lên kế hoạch một cấu trúc tốt/thư mục linh hoạt

[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; 
} 

Sau đó gọi là trong giao diện

[some_view.php]

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

Hy vọng nó sẽ giúp một ai đó. Trong trường hợp OP $css['path'] = 'application/assets/css/%s.css'; sẽ thực hiện thủ thuật.

Đã cập nhật mã trên Github mà tôi sẽ tiếp tục cập nhật.

Các vấn đề liên quan