Necesito crear una variable global a todos los métodos del controlador para luego pasarla a las vistas. Lo necesito porque dependiendo del controlador, el action de un formulario de búsqueda apuntará a un sitio o a otro.
Dejo el código de lo que tengo.
Constructor
Código PHP:
function __construct(){
parent::__construct();
$this->load->model('clientesModel');
$data['controlador'] = "clientes"; /*Indica el formulario de busqueda desde que controlador se ha llamado*/
}
Método donde se completa el array $data
Código PHP:
public function resultadobusqueda()
{
$cadena = $this->input->post('busqueda');
$datos = $this->clientesModel->buscar($cadena);
$data ['titulo'] = "Clientes | Resultado Búsqueda";
if ($datos->num_rows() > 0){
$data ['clientes'] = $datos;
$this->load->view('template/header',$data);
$this->load->view('listadoClientes', $data);
$this->load->view('template/footer');
}else{
$data ['mensaje'] = "Ningún cliente encontrado";
$this->load->view('template/header',$data);
$this->load->view('template/info',$data);
$this->load->view('template/footer');
}
}
Formulario de la vista
Código HTML:
<form class="form-inline" action="<?=base_url()?>index.php/<?=$controlador?>/resultadobusqueda" method="post">
<div class="input-append row-fluid">
<input type="text" name="busqueda" class="span8" placeholder="Cliente">
<button type="submit" class="btn btn-info">Buscar</button>
</div>
</form>
Mientras escribía esto se me ha encendido la bombilla de sacarlo de la URI, pero quiero saber si lo que pretendía hacer es correcto.