public function search(){ //$this->autoRender = false; $this->layout = "search"; $this->response->disableCache(); $this->loadModel('Clase'); $this->loadModel('Lugares'); $this->loadModel('Socialicon'); $this->loadModel('Auto'); $this->loadModel('Renta'); $this->set('lugares',$this->Lugares->find('all',array('order'=>array('id ASC')))); $this->set('icons',$this->Socialicon->find('all')); $this->set('clases',$this->Clase->find('all',array('fields'=>array('id','clase','imagen','dir_imagen'),'order'=>array('clase ASC')))); $this->conditions = array(); $this->datarenta = array(); if($this->Session->check('conditions')){ $this->conditions = $this->Session->read('conditions'); $this->Session->delete('conditions'); $this->Session->write('conditions',$this->conditions); } if($this->Session->check('datarenta')){ $this->datarenta = $this->Session->read('datarenta'); $this->Session->delete('datarenta'); $this->Session->write('datarenta',$this->datarenta); } if($this->request->is('post')){ $dato=$this->request->data; $dato=$this->validacion($dato); $this->set('fecha',$this->request->data); if($this->Session->check('conditions')){ $this->Session->delete('conditions'); } if($this->Session->check('datarenta')){ $this->Session->delete('datarenta'); } if($dato!=null){ $this->set('respuesta',$dato); $this->Auto->Behaviors->attach('Containable'); $datarenta=array('Contacto'=>array( 'diainicio'=>$dato['Contacto']['diainicio'], 'horainicio'=>$dato['Contacto']['horainicio'], 'horafin'=>$dato['Contacto']['horafin'], 'diafin'=>$dato['Contacto']['diafin'], 'lugarinicio'=>$dato['Contacto']['lugarinicio'], 'lugarfin'=>$dato['Contacto']['lugarfin']) ); $condiciones = array( 'conditions' => 'Auto.`id` NOT IN ( ................. ) and Auto.estado = 1 ', 'group' => 'Auto.modelo', 'limit'=>4 ); //'limit'=>1 /*$this->set('consulta', $this->Auto->find('all',$opciones) );*/ $this->conditions = $condiciones; $this->datarenta = $datarenta; $startday=$dato['Contacto']['diainicio']; $starth=$dato['Contacto']['horainicio']; $endh=$dato['Contacto']['horafin']; $endday=$dato['Contacto']['diafin']; $this->Session->write('conditions',$this->conditions); $this->Session->write('datarenta',$this->datarenta); $this->Paginator->settings=$this->conditions; $consulta=$this->Paginator->paginate('Auto'); $count=count($consulta); if($count>=1){ for($i=0;$i<$count;$i++){ $d=$consulta[$i]['Auto']['tarifa_dia']; $fd=$consulta[$i]['Auto']['tarifa_cinco_diez_dias']; $td=$consulta[$i]['Auto']['tarifa_diez_quince_dias']; $fid=$consulta[$i]['Auto']['tarifa_mas_de_quince_dias']; $m=$consulta[$i]['Auto']['tarifa_mes']; $consulta[$i]['Auto']['lugar_reclama']=$dato['Contacto']['lugarinicio']; $consulta[$i]['Auto']['lugar_devuelve']=$dato['Contacto']['lugarfin']; $consulta[$i]['Auto']['costo']=$this->rentvalue($startday,$endday,$starth,$endh,$d,$fd,$td,$fid,$m); } $this->set(compact('consulta','startday','endday','starth','endh')); }else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } //var_dump($intervaltime); //var_dump($consulta); }else{ $error[0]['Error']['mensaje']='no se encontraron resultados'; $this->set(compact('error')); /* * PAGINADOR * if($this->Session->check('conditions')){ $this->Auto->recursive=0; $this->Paginator->settings=$this->Session->read('conditions'); $consulta=$this->Paginator->paginate('Auto'); $this->set(compact('consulta')); }*/ } }else if($this->request->is('ajax') and $this->Session->check('conditions') and $this->Session->check('datarenta')){ /* $error[0]['Error']['mensaje']='no se encontraron resultados'; $this->set(compact('error'));*/ $this->layout = ($this->request->is("ajax")) ? "ajax" : "search"; if($this->Session->check('conditions') and $this->Session->check('datarenta')){ $dato=$this->Session->read('datarenta'); $startday=$dato['Contacto']['diainicio']; $starth=$dato['Contacto']['horainicio']; $endh=$dato['Contacto']['horafin']; $endday=$dato['Contacto']['diafin']; $this->Auto->recursive=0; $this->Session->write('datarenta',$this->datarenta); $this->Paginator->settings=$this->Session->read('conditions'); $consulta=$this->Paginator->paginate('Auto'); $count=count($consulta); if($count>=1){ for($i=0;$i<$count;$i++){ $d=$consulta[$i]['Auto']['tarifa_dia']; $fd=$consulta[$i]['Auto']['tarifa_cinco_diez_dias']; $td=$consulta[$i]['Auto']['tarifa_diez_quince_dias']; $fid=$consulta[$i]['Auto']['tarifa_mas_de_quince_dias']; $m=$consulta[$i]['Auto']['tarifa_mes']; $consulta[$i]['Auto']['lugar_reclama']=$dato['Contacto']['lugarinicio']; $consulta[$i]['Auto']['lugar_devuelve']=$dato['Contacto']['lugarfin']; $consulta[$i]['Auto']['costo']=$this->rentvalue($startday,$endday,$starth,$endh,$d,$fd,$td,$fid,$m); } $this->set(compact('consulta','startday','endday','starth','endh','dato')); }else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } }else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } }else{ $this->Session->delete('conditions'); $this->Session->delete('datarenta'); return $this->redirect(array('action'=>'home')); } } public function searchclass(){ $this->layout = ($this->request->is("ajax")) ? "ajax" : "search"; $this->response->disableCache(); $this->Auto->Behaviors->attach('Containable'); $this->conditions = array(); $this->datarenta = array(); $this->Auto->Behaviors->attach('Containable'); if($this->Session->check('conditions')){ $this->conditions = $this->Session->read('conditions'); $this->Session->delete('conditions'); $this->Session->write('conditions',$this->conditions); } if($this->Session->check('datarenta')){ $this->datarenta = $this->Session->read('datarenta'); } if($this->request->is('post') and $this->Session->check('datarenta') and $this->Session->check('conditions')){ if($this->Session->check('conditions')){ $this->Session->delete('conditions'); } $dato=$this->Session->read('datarenta'); $class=$this->request->data['cars']; $condiciones = array( 'conditions' => 'Auto.`id` NOT IN ( ........................ ) and Auto.estado = 1 and Auto.id_clase='.$class.' ', 'group' => 'Auto.modelo', 'limit'=>4 ); $this->conditions = $condiciones; $this->datarenta = $dato; $startday=$dato['Contacto']['diainicio']; $starth=$dato['Contacto']['horainicio']; $endh=$dato['Contacto']['horafin']; $endday=$dato['Contacto']['diafin']; $this->Session->write('conditions',$this->conditions); $this->Session->write('datarenta',$this->datarenta); $this->Paginator->settings=$this->conditions; $consulta=$this->Paginator->paginate('Auto'); /*$consulta=$this->Auto->find('all',$condiciones);*/ $count=count($consulta); if($count>=1){ for($i=0;$i<$count;$i++){ $d=$consulta[$i]['Auto']['tarifa_dia']; $fd=$consulta[$i]['Auto']['tarifa_cinco_diez_dias']; $td=$consulta[$i]['Auto']['tarifa_diez_quince_dias']; $fid=$consulta[$i]['Auto']['tarifa_mas_de_quince_dias']; $m=$consulta[$i]['Auto']['tarifa_mes']; $consulta[$i]['Auto']['lugar_reclama']=$dato['Contacto']['lugarinicio']; $consulta[$i]['Auto']['lugar_devuelve']=$dato['Contacto']['lugarfin']; $consulta[$i]['Auto']['costo']=$this->rentvalue($startday,$endday,$starth,$endh,$d,$fd,$td,$fid,$m); } $this->set(compact('consulta','startday','endday','starth','endh'));
}else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } $this->render('/Elements/searchforclass'); }else{ if($this->Session->check('conditions') and $this->Session->check('datarenta')){ $dato=$this->Session->read('datarenta'); $startday=$dato['Contacto']['diainicio']; $starth=$dato['Contacto']['horainicio']; $endh=$dato['Contacto']['horafin']; $endday=$dato['Contacto']['diafin']; $this->Auto->recursive=0; $this->Paginator->settings=$this->Session->read('conditions'); $consulta=$this->Paginator->paginate('Auto'); $count=count($consulta); if($count>=1){ for($i=0;$i<$count;$i++){ $d=$consulta[$i]['Auto']['tarifa_dia']; $fd=$consulta[$i]['Auto']['tarifa_cinco_diez_dias']; $td=$consulta[$i]['Auto']['tarifa_diez_quince_dias']; $fid=$consulta[$i]['Auto']['tarifa_mas_de_quince_dias']; $m=$consulta[$i]['Auto']['tarifa_mes']; $consulta[$i]['Auto']['lugar_reclama']=$dato['Contacto']['lugarinicio']; $consulta[$i]['Auto']['lugar_devuelve']=$dato['Contacto']['lugarfin']; $consulta[$i]['Auto']['costo']=$this->rentvalue($startday,$endday,$starth,$endh,$d,$fd,$td,$fid,$m); } $this->set(compact('consulta','startday','endday','starth','endh','dato')); }else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } }else{ $error[0]['Error']['mensaje']='No hay carros disponibles'; $this->set(compact('error')); } $this->render('/Elements/searchforclass'); } } vista.............................. <?php $this->Paginator->options(array( 'update' => '#respuesta', 'async' => true, 'dataExpression' => true, 'before' => $this->Js->get("#procesando")->effect('fadeIn', array('buffer' => false)), 'complete' => $this->Js->get("#procesando")->effect('fadeOut', array('buffer' => false)) )); ?> <div class="row"> <div class="progress oculto" id="procesando"> <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"> <span class="sr-only">100% Complete</span> </div> </div> <?php if(isset($autos) and !isset($error)){ foreach($autos as $resultados){ ?> <div class="row class<?php echo $resultados['clases']['clase']; ?>" style='padding-bottom:15px;'> <div class="container" style="padding-top: 15px;"> <div class="col-sm-12" style='padding: 0px 20px 20px 30px;border-bottom: 1px solid #d3d3d3;'> <div class="col-sm-8 no_padding"> <div class="row" style="padding: 10px 0px 10px 0px;"> <h2 style="font-family: 'louis_bold_italic';"> <?php echo $resultados['modelos']['modelo']; ?> </h2> </div> <div class="col-sm-12 mini" style="text-align:center;"> <div class="row"> <?php echo $this->Html->image('/files/auto/imagencarro/'.$resultados['Auto']['id'].'/thumb_'.$resultados['Auto']['imagencarro'], array('alt'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'],'title'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'],'longdesc'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'] ,'class'=>'img-responsive','style'=>'margin: 0 auto;border-radius: 5px;') ); ?> </div> <div class="row mini"> <p style="text-align: center;">imagenes de referencia</p> </div> </div> <div class="row" style="padding: 6px 0px 6px 0px;"> <p class="default"><?php echo $resultados['Auto']['descripcion']; ?> </p> </div> <div class="row no_padding"> <span class="col-sm-2 col-xs-6 no_padding"> <p style="margin:0px;"> Tarifa base </p> <p style="margin:0px;font-size:20px;"> <?php echo '$'.number_format($resultados['Auto']['tarifa_dia'],0); ?> </p> <p> Por día </p> </span> <span class="col-sm-2 col-xs-6 no_padding"> <p style="margin:0px;"> De 5 a 10 días </p> <p style="margin:0px;font-size:20px;"> <?php echo '$'.number_format($resultados['Auto']['tarifa_cinco_diez_dias'],0); ?> </p> <p> Por día </p> </span> <span class="col-sm-2 col-xs-6 no_padding"> <p style="margin:0px;"> De 11 a 15 días </p> <p style="margin:0px;font-size:20px;"> <?php echo '$'.number_format($resultados['Auto']['tarifa_diez_quince_dias'],0); ?> </p> <p> Por día </p> </span> <span class="col-sm-3 col-xs-6 no_padding"> <p style="margin:0px;"> Mas de 15 días </p> <p style="margin:0px;font-size:20px;"> <?php echo '$'.number_format($resultados['Auto']['tarifa_mas_de_quince_dias'],0); ?> </p> <p> Por día </p> </span> <span class="col-sm-3 no_padding" style='color:#1072b7;'> <p style="margin:0px;"> Por mes </p> <p style="margin:0px;font-size:20px;"> <?php echo '$'.number_format($resultados['Auto']['tarifa_mes'],0); ?> </p> <p> <?php $valor = $resultados['Auto']['tarifa_mes']/30; echo '$'.number_format($valor,0); ?> por día </p> </span> </div> </div> <div class="col-sm-4" style="padding-top:25px;"> <div class="row max"> <?php echo $this->Html->image('/files/auto/imagencarro/'.$resultados['Auto']['id'].'/'.$resultados['Auto']['imagencarro'], array('alt'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'],'title'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'],'longdesc'=>'Carro placas '.$resultados['Auto']['placa'].' cuenta con '.$resultados['Auto']['maleta'] .', cuenta con capacidad para '.$resultados['Auto']['pasajeros'].' pasajeros, modelo '.$resultados['Auto']['year'] ,'class'=>'img-responsive','style'=>'margin: 0 auto;max-width: 316px;max-height: 237px;border-radius: 5px;') ); ?> </div> <div class="row max" style="padding: 0px 10px 0px 10px;"> <p style="text-align: right;">imagenes de referencia</p> </div> </div> </div> </div> </div> <?php } }else{ ?> <div class="row" style="padding-top: 20px;"> <div class="container"> <div class="col-sm-12"> <div class="alert alert-danger"> <p style="font-size: 18px;text-align: center;"> <?php echo $error[0]["Error"]["mensaje"]; ?> </p> </div> </div> </div> </div> <?php } ?> <div class="row"> <div class="container"> <?php if(isset($autos) and !isset($error)){ if($this->Paginator->counter('{:pages}') > 1) { echo $this->Paginator->prev('< ' . __d('users', 'previous'), array('class' => 'btn btn-default prev antes', 'tag' => 'span'), null, array('class' => 'btn btn-default prev disabled', 'tag' => 'span')); echo $this->Paginator->numbers(array('separator' => '', 'class' => 'btn btn-default numeros', 'currentClass' => 'disabled', 'tag' => 'span')); echo $this->Paginator->next(__d('users', 'next') . ' >', array('class' => 'siguiente btn btn-default next siguiente', 'tag' => 'span'), null, array('class' => 'btn btn-default next disabled', 'tag' => 'span')); echo $this->Js->writeBuffer(); } } ?> </div> </div> </div> El martes, 24 de noviembre de 2015, 12:22:18 (UTC-5), fredy mauricio Garcia Moná escribió: > > muy buenas a todos estoy haciendo un paginador con ajax, funciona > perfectamente cuando pagina hacia adelante y hacia atras pero cuando se le > da regresar a la pagina 1 me esta sacando este error - Uncaught TypeError: > e[b] is not a function -, y me recarga todo el layour en el div asignado, > segun hoy me di cuenta es un tema referente a cache, por que cuando borre > todo lo almacenado en el navegador, el paginador volvio a funcionar > perfectamente valga la aclaracion para este paginador uso sessiones para > almacenar la consulta que se crea, de que manera puedo solucionar este > error > > -- 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.