Buenos Dias Espero se encuentren bien, quisiera pedirles un favor, si me pueden ayudar con mostrar una informacion en un pdf. la duda es la Siguiente. tengo una accion en mi controlador y la vista de esa accion para que se genere el pdf eso me funciona, Lo que no me esta funcionando en mi VISTA es el foreach. la verdad eh investigado y hecho varios formas de las que muestran, pero no me ha funcionado, la primera parte de la variable $html si me muestra datos, pero lo que contiene el foreach no. y ya eh hecho un debug y si me esta trayendo todo, pero no me muestra nada del foreach en el pdf. si me pueden ayudar con esta duda se lo agradezco
CONTROLADOR public function ver($encabezado = NULL){ if (!$encabezado) { $this->Session->setFlash('no has seleccionado ningun pdf.'); $this->redirect(array('action'=>'index')); } $desarrolloordendias = $this->Detalleordendia->find('list'); $this->Detalleordendia->recursive=-1; $detalleordendias = $this->Detalleordendia->find("all",array('fields',array('Detalleordendia.detalleplantilla_id'), "conditions"=>array('Detalleordendia.encabezadoordendia_id'=>$encabezado) )); foreach ($detalleordendias as $key => $value) { $variable=$this->requestAction('detalleplantillas/lists', array('ordendia'=>$value['Detalleordendia']['detalleplantilla_id'])); $detalleordendias[$key]['detalleordendia'] = $variable; $varsub = $this->requestAction('subpuntos/lists',array('ordendia'=>$value['Detalleordendia']['id'])); $detalleordendias[$key]['subpuntos'] = $varsub; } $nomencab = $this->Detalleordendia->Encabezadoordendia->read(null, $encabezado); $this->set('variable', $variable); $this->set('nomencab', $nomencab); $this->set('encabezado',$encabezado); $this->set('detalleordendias',$detalleordendias); $this->layout = 'pdf'; //esto usara el layout pdf.ctp $this->render(); } VISTA <?php App::import('Vendor','tcpdf/tcpdf'); ob_clean(); // create new PDF document $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // set document information $ht=''; $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 001'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); // set default header data $titulo =' Convocatoria de '; $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $titulo, PDF_HEADER_STRING, array(30,64,255), array(100,64,128)); $pdf->setFooterData($tc=array(0,64,0), $lc=array(0,64,128)); // set header and footer fonts $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); //set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings // $pdf->setLanguageArray($l); // --------------------------------------------------------- // set default font subsetting mode $pdf->setFontSubsetting(true); // Set font // dejavusans is a UTF-8 Unicode font, if you only need to // print standard ASCII chars, you can use core fonts like // helvetica or times to reduce file size. $pdf->SetFont('dejavusans', '', 14, '', true); // Add a page // This method has several options, check the source code $pdf->AddPage(); // set text shadow effect $pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196, 196), 'opacity'=>1, 'blend_mode'=> 'Normal')); $html = '<div class="container"> <div class="panel-body"> <div class="col-md-12" style="text-align:left;"> <label style="font-size:16px; "> Fecha: </label> <i style="font-style:oblique; font-size:14 ">'.$nomencab['Encabezadoordendia']['fecha'].'</i>'.' <br> <label style="font-size:16px;"> Número del Orden del Día: </label> <i style="font-style:oblique; font-size:14 ">'.$nomencab['Encabezadoordendia']['numero'].' </i>'.' <br> <label style="font-size:16px;"> Hora del Orden del Día: </label> <i style="font-style:oblique; font-size:14 ">'.$nomencab['Encabezadoordendia']['hora'].' </i>'.' <br> <br> </div> <br <div class="col-md-8" > <ul class="list-unstyled text-left" >' ; foreach ($detalleordendias as $detalleordendia){ foreach ($detalleordendia['detalleordendia'] as $deta){ $dd=$deta["Detalleplantilla"]["nompunto"]; $ht.='<li><strong>'. $dd.'</strong></li>' ; foreach ($detalleordendia['subpuntos'] as $sub){ $ht.=' <ul class="list-unstyled">'; $ht.='<li> » '.$sub["Subpunto"]["nomsubpunto"].'</li> </ul>'; } } } $htmlfin=' </ul> </div> </div> '; // output the HTML content $pdf->writeHTML($html,$ht,$htmlfin, true, false, true, false, ''); // --------------------------------------------------------- // $pdf->Cell(55, 5, 'Date:'); // Close and output PDF document // This method has several options, check the source code $pdf->Output('example_001.pdf', 'I'); exit; //=========================================================== // END OF FILE //=========================================================== ?> -- El servicio de correo misena es soportado tecnológicamente por © Google y ofrecido por el Servicio Nacional de Aprendizaje – SENA de manera gratuita a todos los colombianos y en especial a los aprendices e instructores de Programas de Formación Titulada y Complementaria. Los contenidos, textos, imágenes, archivos y puntos de vista enviados en este mensaje son responsabilidad exclusiva del remitente y no reflejan ni comprometen oficialmente a la institución. No se autoriza el uso de esta herramienta para el intercambio de correos masivos, cadenas o spam, ni de mensajes ofensivos, de carácter político, sexual o religioso, con fines de lucro, con propósitos delictivos o cualquier otro mensaje que se considere indebido o que vaya en contra de la Ley. -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cakephp-es+unsubscr...@googlegroups.com. Para publicar una entrada en este grupo, envía un correo electrónico a cakephp-es@googlegroups.com. Visita este grupo en http://groups.google.com/group/cakephp-es. Para obtener más opciones, visita https://groups.google.com/d/optout.