2012-08-25 26 views
6

Quiero migrar mi sitio web a CI. simplemente modifiqué desde el archivo de muestra ci welcome.php en la función index(), cargo la vista para mostrar. sin embargo, puse muchos javascripts y archivos css en el archivo de encabezado. y llámalo por $this->load->view('header'); ¡pero no puedo cargar los archivos javascript correctamente! ¿Alguien me puede dar algunos consejos? es difícil configurar cómo la ruta correcta.Cómo cargar archivos javascript css en 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>  

mi código del controlador de la siguiente manera

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 es mi estructura de carpetas

enter image description here

Respuesta

7

poner la carpeta de activos con applications, system, assets

no

en la aplicación y carga sencilla de la clase url ayudante en controlador donde se llama a la vista de encabezamiento parte algo así como

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

y simplemente usar algo como esto en su archivo de cabecera ..
porque $this->base_url() retorno del / carpeta ..

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

Cambio de la estructura de carpetas porque el acceso dentro de la carpeta de la aplicación es sólo para la parte del núcleo que sé ..

aquí está el enlace si quieres saber más sobre URL Helper

+0

gracias o su apoyo. Por cierto, si quiero usar alguna biblioteca como phpMailler o zend framwork. sholud puse esas carpetas en aplicaciones, nivel del sistema, reight? – newBike

+0

@poc es cierto, no tengo mucha experiencia con Codeigniter, así que creo que estas bibliotecas debes colocarlas en la carpeta third_party. –

+0

@poc sí, puede colocar la carpeta 'third_party' y para saber más sobre la carpeta de terceros, siga el enlace http://stackoverflow.com/questions/5248158/codeigniter-2-0-third-party-folder –

0

respuesta de Jogesh_p sin duda va a resolver el problema de los activos de carga que tiene. Me gustaría darle seguimiento a esta pregunta que dio

Gracias o su apoyo. Por cierto, si quiero usar alguna biblioteca como phpMailler o zend framwork.

Usted puede poner en application/libraries/

luego cargarla en el controlador usando nombre de clase de la Biblioteca

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

Su desee cargar en el constructor o en el individuo método.

¡Buena suerte!

2

Esta es la mejor manera con el código mínimo

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


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

¿Podría también agregar alguna explicación? – d4Rk

+0

Además de que la pregunta ya está resuelta con "base_url()", no es necesario duplicar esa respuesta. –

-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

función readURL (entrada) { \t \t si (input.files && input.files [0]) { \t \t lector var = new 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").cambio (función() { \t \t readURL (esto); \t \t}); – user3437895

+0

clase Globel_model extiende CI_Model { función __construct() { // Llamar al constructor Modelo parent :: __ construct(); } function add_record ($ tablename, $ data) { \t $ this-> db-> insert ($ tablename, $ data); \t return; } } – user3437895

+2

Puede editar su respuesta para que incluya todo el código. Y por favor, brinde información adicional sobre su solución: una pared de código es difícil de entender. – Glorfindel

0

Para solucionar mi problema creé funciones de ayuda para cargar activos y aquí está mi código desplegado en mi solicitud PS:.. En primer lugar había planeado una estructura buena directorio/flexibles

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

entonces llamada en la vista

[some_view.php]

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

Espero que ayuda a alguien. En el caso de OP $css['path'] = 'application/assets/css/%s.css'; hará el truco.

Actualicé el código en Github que seguiré actualizando.

Cuestiones relacionadas