CodeIgniter: acceso a la variable $config a la vista

2 minutos de lectura

avatar de usuario
AlexA

Muy a menudo necesito acceder $config variables en las vistas. Sé que puedo pasarlos del controlador a load->view(). Pero me parece excesivo hacerlo de forma explícita.

¿Hay alguna forma o truco para acceder $config variable desde las vistas de CI sin molestar a los controladores con código de repuesto?

avatar de usuario
phil esturión

$this->config->item() funciona bien.

Por ejemplo, si el archivo de configuración contiene $config['foo'] = 'bar'; después $this->config->item('foo') == 'bar'

  • buena respuesta útil

    – Yagnesh bhalala

    3 de julio de 2020 a las 12:51

  • En CodeIgniter 4 ¿cuál es la alternativa?

    – Mathan

    29 de marzo a las 12:12

avatar de usuario
phil esturión

Además, la función común config_item() funciona prácticamente en todas partes a lo largo de la instancia de CodeIgniter. Controladores, modelos, vistas, bibliotecas, ayudantes, ganchos, lo que sea.

  • Gracias por esto: estaba teniendo problemas para acceder a un valor de configuración desde un gancho. Para cualquier otra persona, esto funciona muy bien.

    – CashIsClay

    21 de junio de 2013 a las 18:22

  • Pero, config_item() no tiene la protección contra colisiones que está disponible en $this->config->item()

    – Ijas Ameenudeen

    03/03/2014 a las 15:50

Puedes hacer algo como eso:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');

  • En realidad, dentro de una vista, $this se refiere a CI_Loader y get_instance() se refiere a CI_Base() como siempre.

    – Phil esturión

    13 de abril de 2010 a las 18:32

avatar de usuario
usuario1002232

$this->config->item('config_var') no funcionó para mi caso.

Solo pude usar el config_item('config_var'); para hacer eco de las variables en la vista

Su controlador debe recopilar toda la información de las bases de datos, configuraciones, etc. Hay muchas buenas razones para ceñirse a esto. Una buena razón es que esto le permitirá cambiar la fuente de esa información con bastante facilidad y no tendrá que realizar ningún cambio en sus vistas.

avatar de usuario
colmillo

Así es como lo hice. En config.php

$config['HTML_TITLE'] = "SO TITLE test";

En aplicaciones/vista/header.php (suponiendo código html)

<title><?=$this->config->item("HTML_TITLE");?> </title>

Ejemplo de Título

avatar de usuario
El sitio web-laboratorio

Siempre que necesito acceder a las variables de configuración, tiendo a usar: $this->config->config[‘variable_name’];

  • No sé por qué pero desde hoy $this->config->item(‘var_name’); ya no funcionó para mí … gracias por la forma alternativa. Solo me preguntaba… ¿es legal este método?

    – dapidmini

    30 de enero de 2019 a las 9:54

¿Ha sido útil esta solución?