Buenas, quisiera transmitirles la siguiente consulta. en una operación ejecuto un evento a nivel form en el cual despues de ejecutar los comandos que deseo llamo a un CI que me genera un pdf, esto lo hago utilizando toba::vinculador()->navegar_a();
una vez que se ejecuta esto se genera el pdf, pero la pantalla del sistema queda en blanco. mi consulta es si existe alguna manera de volver a donde estaba. desde ya gracias
Hola German,
el metodo navegar_a() es bastante simple y en ocasiones (como esta) puede que se quede un poco corto, te recomendaria que emules lo que hace dicho metodo… pero cuando se hace el llamado a $this->get_url() en el ultimo parametro agregar una entrada ‘param_html’ donde le pasas que se abra en popup, tambien deberias colocar entradas para la celda de memoria, que no venga de menu, etc.
De esa forma te va a abrir la descarga en una pantalla paralela, mientras abajo te queda la operacion actual.
Saludos
Hola, retomo este tema porque no hemos podido hacerlo andar.
Usamos el método $this->get_url(), el cual crea correctamente el enlace al que se debe redirigir. Ahora el tema es, ¿como logramos que la aplicación direccione hacia esa URL y nos proponga realizar la descarga del pdf en cuestión? ¿en una ventana de tipo popup quizás?.
La sintaxis usada es la siguiente:
$url = toba::vinculador()->get_url('ddjj', '23000023', array(), array('celda_memoria' => 'ddjj'))
La operación 23000023 es de tipo: “Aplicación Web / PHP Plano” y contiene la lógica necesaria para generar el pdf.
Espero ser claro.
Saludos.
Hola! te pasó el código que uso para exportar una SQL como archivo de texto. Capaz puede servirte de punta de ovillo para ver el tema de la exportación del pdf.
<?php
$sql = "ALGUN SELECT";
$datos = toba::db()->consultar($sql);
$temp_fecha = date('Ymd-Hi');
$temp_archivo = toba::proyecto()->get_www_temp($temp_fecha.'.txt');
$archivo = fopen($temp_archivo['path'], 'wb');
$cantidad = count($datos);
foreach ($datos as $iteracion=>$fila) {
if (isset($fila['dato']) && $fila['dato'] != '') {
$texto = $fila['dato'];
if ($iteracion < $cantidad - 1) {
$texto .= "\n";
}
fwrite($archivo, $texto);
}
}
fclose($archivo);
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename="'.basename($temp_archivo['url']).'"');
header("Content-Transfer-Encoding: binary");
header('Cache-Control: private');
header('Pragma: no-cache');
header('Expires: 0');
readfile($temp_archivo['path']);
exit;
?>
En la imagen adjunta está la definición del evento (botón) que dispara la exportación (donde exportacion es una operación php/plano con el código que te detallo más arriba).
Espero ser de utilidad.