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&iacute;a
                           </p>  
                        </span>
                        <span class="col-sm-2 col-xs-6 no_padding">
                           <p style="margin:0px;">
                           De 5 a 10 d&iacute;as
                           </p>
                           <p style="margin:0px;font-size:20px;">
                             <?php 
                              echo 
'$'.number_format($resultados['Auto']['tarifa_cinco_diez_dias'],0);
                             ?>
                           </p> 
                           <p>
                             Por d&iacute;a
                           </p>
                        </span>
                        <span class="col-sm-2 col-xs-6 no_padding">
                           <p style="margin:0px;">
                           De 11 a 15 d&iacute;as
                           </p>
                           <p style="margin:0px;font-size:20px;">
                             <?php 
                              echo 
'$'.number_format($resultados['Auto']['tarifa_diez_quince_dias'],0);
                             ?>
                           </p>
                           <p>
                             Por d&iacute;a
                           </p>
                        </span>
                        <span class="col-sm-3 col-xs-6 no_padding">
                            <p style="margin:0px;">
                             Mas de 15 d&iacute;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&iacute;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&iacute;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.

Responder a