2011-06-23 23 views
50

Estoy desarrollando una aplicación con codeignador. Estoy intentando usar la función base_url() pero muestra resultados vacíos. He utilizado el asistente de carga automática a través del archivo de autocarga, pero tampoco parece que funcione. También tenía constantes básicas definidas, pero todo fue en vano. Por favor ayuda.función base_url() que no funciona en codeigniter

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title><?php echo $title; ?></title>   
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
     <link rel="stylesheet" href="<?php echo base_url();?>/css/template/default.css" type="text/css" /> 
     <script type="text/javascript"> 
      //<![CDATA[ 
      base_url = '<?= base_url();?>'; 
      //]]> 
     </script> 
    </head> 
+1

nos muestras su código, por favor? – Sampson

+0

@Jonathan Sampson: He intentado usar echo base_url(); en la sección del cuerpo principal y obtuve un resultado vacío –

+1

@Sanks ¿Puede mostrarnos el código HTML generado? Veo que está usando tanto etiquetas cortas para imprimir en el área de script, como echo estándar para la salida en la región de la hoja de estilo. – Sampson

Respuesta

124

Para usar base_url(), primero debe tener cargado el URL Helper. Esto se puede hacer ya sea en application/config/autoload.php (en o alrededor de la línea 67):

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

O, de forma manual:

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

Una vez que se carga, asegúrese de tener en cuenta que base_url() no lo hace de forma implícita de impresión o función echo nada, sino que devuelve el valor que se desea imprimir:

echo base_url(); 

Recuerde también que el valor devuelto es la URL base del sitio de lo dispuesto en el fichero de configuración. CodeIgniter acomodar un valor vacío en el archivo de configuración, así:

Si esto (base_url) no se establece a continuación, CodeIgniter adivinará el protocolo, dominio y la ruta a su instalación.

application/config/config.php, línea 13

+1

¿Adivinando que faltaba un 'echo' o algo así? De lo contrario, esto no debería suceder, la autocarga se ahogará si el ayudante se deleturó incorrectamente o no existe. Al menos php arrojaría un error si la función no estaba definida. 'base_url()' siempre debe devolver * algo *. ** Adición **: tenga en cuenta que en 2.0.2 el valor de configuración puede estar vacío y detectará automáticamente la url base, por lo que no hay posibilidad de que esté vacía. –

+0

@Wesley Estoy sospechando que también es una llamada perdida para 'echo'. – Sampson

+0

@Jonathan Sampson: He cargado el asistente de autocarga tal como se dijo. Pero aún así no parece funcionar. He pasado por la guía del usuario codeigniter y creo que existe el asistente URL. –

2

comprobar si tiene algo configurado dentro del archivo de configuración, por ejemplo /application/config/config.php

$config['base_url'] = 'http://example.com/'; 
4

Si desea utilizar base_url(), por lo que necesitamos para cargar asistente de url.

  1. Mediante el uso de autocarga $autoload['helper'] = array('url');
  2. O por la carga manualmente en el controlador o en la vista $this->load->helper('url');

A continuación, puede base_url() usuario en cualquier parte del controlador o vista.

0

Si no desea utilizar el asistente de url, puede obtener los mismos resultados mediante el uso de la siguiente variable:

$this->config->config['base_url'] 

le proporcione la URL base para usted sin pasos adicionales necesarios.

2

Creo que no ha editado archivos codeigniter para habilitar base_url(). intenta asignarlo en url_helper.php, también puede hacer el mismo archivo config/autoload.php. puede agregar este código en tu autoload.php

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

que usted será capaz de ue base_url() como esto

<link rel="stylesheet" href="<?php echo base_url();?>/css/template/default.css" type="text/css" /> 
0

En primer lugar ayudante de dirección URL de carga. puedes cargar en "config/autoload".php" archivo y añadir siguiente código $autoload['helper'] = array('url');

o en el controlador Añadir según código

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

luego ir a config.php en la carpeta COFIG y establecer

$config['base_url'] = 'http://urlbaseurl.com/'; 

esperanza que esto ayudará gracias

0

Antes que nada debe cargar el archivo url helper en su proyecto

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

Entonces obtendrá base_url por

echo base_url(); 

Read more about base_url here

Cuestiones relacionadas