Problema con Codeigniter...

Iniciado por 01munrra, 27 Febrero 2013, 20:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

Y sí sólo mandas un null, a la variable $variable...  :silbar:
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

#!drvy

#11
Pfff xD

Es realmente necesario llamar a imprimir de esa forma ? Me refiero, podrias replantear como se llama la funcion imprimir.. en vez de directamente... por $_GET por ejemplo..

Código (php) [Seleccionar]
<?php
class Controlador extends CI_Controller {

  public function 
index(){
    
$data = array();
    
$data['variable'] = "Hola Mundo Como estas???";
    
$this->loadme('vista',$data);
  }

  private function 
imprimir($vista,$data){
    
$html $this->load->view($vista,$data,true);
    
/* Manejo PDF */
    
echo $html;
  }

  private function 
loadme($vista,$data){
    if(!empty(
$_GET['imprimir']) && $_GET['imprimir']=='true'){
      
$this->imprimir($vista,$data);
    } else {
      
$this->load->view($vista,$data);
    }
  }

}
?>


Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<title> Prueba PDF</title>
</head>
<body>
  <h1><?php echo isset($variable) ? $variable 'otra cosa'?></h1>
<a href="?imprimir=true">Imprimir</a>
</body>
</html>


Ya no se me ocurre otra cosa xD

Saludos

01munrra

drvy | BSM, gracias!!!.... tomare en cuenta tu punto de vista, y veré a que solución puedo llegar....... en CI parece ser que puedo usar la funcion $this->load->view('vista','',true) solamente cuando se esta cargando la vista mas no puedo aplicarlo despues de que se haya cargado la vista es decir, no puedo obtener la informacion una ves que se alla cargado la vista, es por eso que no me muestra nada.......

la informacion sobre la funcion esta aqui en el manual: http://ellislab.com/codeigniter/user-guide/libraries/loader.html, ellos no explican muy bien como usarlo, ya queda como Conclusión del programador ps....



Gracias!!


Saludos!!

01munrra

llegue a una solucion sencilla pero funciona al menos..... fijence:
edite los siguientes archivos:

controlador.php
Código (php-brief) [Seleccionar]

class Controlador extends CI_Controller
{
public function __construct()
{
parent::__construct();
}

public function index()
{
$this->load->view('index');
}

public function funcion($opcion="default", $id="", $accion="default")
{
if( $opcion == "default" )
{
$data = array();
$data['variable'] = "Hola Mundo Como estas";
$this->load->view('vista',$data);
}
if( $opcion == "imprimir" )
{
$data['variable'] = $id;
$html = $this->load->view('vista',$data,true);
$html="<html><head></head><body>".$html."</body></html>";
$this->dompdf_lib->createPDF($html,"Estructura Clientes");
}
}
}


vista.php
Código (php-brief) [Seleccionar]

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> Prueba PDF</title>
</head>
<body>

<?php if( isset($variable) ): ?>
<h1><?php echo $variable?></h1>
<?php endif; ?>

<a href="<?php echo site_url("controlador/funcion/imprimir"?>/<?php echo $variable ?>"> Imprimir </a>

</body>
</html>


y index.php
Código (php-brief) [Seleccionar]

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> Prueba PDF</title>
</head>
<body>

<a href="<?php echo site_url("controlador/funcion"?>"> Prueba PDF</a>

</body>
</html>


y pues bueno la solucion como pueden ver es pasar por parametro variable y pues claro esta al tratarse de un sistema se va a pasar es el ID como tal para que luego se dirija a imprimir he contruya la vista de acuerdo al ID como tal, yo paso como variable es "Hola mundo como estas", por que es una prueba. pero en fin a esta solucion llegue...


Gracias por la información también me sirvió de mucho... ;-)

saludos!!!!