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 [email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Visita este grupo en http://groups.google.com/group/cakephp-es.
Para obtener más opciones, visita https://groups.google.com/d/optout.