personalizada paginacion listar php ajax cakephp pagination

paginacion - Crear una ruta personalizada de paginación de CakePHP



paginacion personalizada laravel (2)

Estoy tratando de usar la paginación Ajax en CakePHP y he leído que puedes pasar las variables a lo largo de la URL, pero parece que no puedo establecer la ruta. Cuando hago clic en siguiente recibo un error sobre la categoría que no existe (debido a un método de validación personalizado que he creado) porque no se sigue la ruta.

Me gustaría que $paginator->next() y $paginator->prev() sigan este esquema de rutas http://mysite.com/computers/page:2 o http://mysite.com/computers/mac/page:2 . Sin embargo, independientemente de lo que establezca la URL de paginación, siempre se convierte en http://mysite.com/Products/index/page:2 . He intentado configurar la URL en $paginator->options() y en $paginator->next() y $paginator->prev() sin embargo, no está funcionando. ¿Alguna idea sobre cómo hacer cakephp paginator seguir mis rutas personalizadas?

Editar:

Aquí está mi código $ paginator que está en la vista.

$paginator->options(array( ''update'' => ''#products'', ''url'' => array(''controller''=>''Products'',''action''=>''index'',''pass''=>$this->params[''pass'']), ''evalScripts'' => true, ''before'' => $this->Js->get(''#busy-indicator'')->effect(''fadeIn'', array(''buffer'' => false)), ''complete'' => $this->Js->get(''#busy-indicator'')->effect(''fadeOut'', array(''buffer'' => false)), )); echo $paginator->prev("Prev",$this->passedArgs); echo $paginator->numbers(array(''separator''=>'' '')); echo $paginator->next("Next",$this->passedArgs);


Si configura las opciones del paginador, debería hacer el truco. Prueba esto:

$options = array(''update''=>''results'',''url''=> array(''controller'' => ''companies'', ''action'' => ''dashboard'', ''admin'' => true)); $paginator->options($options);

Eso funciona perfectamente para mí en todas partes.

FYI, uso el parámetro ''update'' con jQuery para actualizar varias áreas.


Me lo imaginé. Veo que alguien ha favorecido esto, así que mostraré mi resolución con la esperanza de que les ahorre unos días de frustración tratando de encontrar una solución.

En mi index.ctp establecí la ruta $ paginator-> options a mi url que necesitaba.

$paginator->options(array( ''update'' => ''#products'', ''url'' => array(''path''=>$this->params[''path'']), ''evalScripts'' => true, ''before'' => $this->Js->get(''#busy-indicator'')->effect(''fadeIn'', array(''buffer'' => false)), ''complete'' => $this->Js->get(''#busy-indicator'')->effect(''fadeOut'', array(''buffer'' => false)), ));

Editar: descubrí que esto solo funciona si no agrega nada más al campo url ... :-(

Editar 2: Terminé teniendo que hacer esto en mi opinión, donde se crea la paginación $.

$paginator->options(array( ''update'' => ''#products'', ''url'' => ''/''.$this->here, //''evalScripts'' => true, ''before'' => $this->Js->get(''.clothing'')->effect(''fadeOut'', array(''speed'' => ''slow'')), ''complete'' => $this->Js->get(''.clothing'')->effect(''fadeIn'', array(''speed'' => ''slow'')), )); echo str_replace(''/Products/index'','''',$paginator->prev("Prev ")); echo str_replace(''/Products/index'','''',$paginator->numbers(array(''separator''=>'' - ''))); echo str_replace(''/Products/index'','''',$paginator->next(" Next"));