Foros del Web » Programando para Internet » PHP » Zend »

[Zend Framework] Problema con Zend_Paginator

Estas en el tema de [Zend Framework] Problema con Zend_Paginator en el foro de Zend en Foros del Web. Hola chicos recurro nuevamente a ustedes para que me puedan dar una mano. Tengo el siguiente error al tratar de configurar mi Paginator: Código PHP: ...
  #1 (permalink)  
Antiguo 27/01/2009, 06:37
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
[Zend Framework] Problema con Zend_Paginator

Hola chicos recurro nuevamente a ustedes para que me puedan dar una mano. Tengo el siguiente error al tratar de configurar mi Paginator:
Código PHP:
Fatal errorUncaught exception 'Zend_Controller_Router_Exception' with message Cannot assembleReversed route is not specified
Este error sale en la configuracion de mi search_pagination_control.phtml.

Para instalar el paginator hice lo siguiente:

Controlador:

Código PHP:
public function listadoAction() 
    {
        
// Set pagination settings
        
$page $this->_getParam('page'1);
        
$itemCountPerPage 10;
        
$pageRange 10;
 
        
// Get data
        
$user_model = new User();
        
$users $user_model->fetchAll()->toArray();
 
        
// Create paginator
        
$paginator Zend_Paginator::factory($users);
        
$paginator->setItemCountPerPage($itemCountPerPage)
                  ->
setCurrentPageNumber($page)
                  ->
setPageRange($pageRange);
 
        
// Create paginator control partial view
        
Zend_View_Helper_PaginationControl::setDefaultViewPartial('libreria/_partials/search_pagination_control.phtml');
 
        
// Assign paginator to view
        
$this->view->paginator $paginator;
    } 
el Modelo es simple:
Código PHP:
class User extends Zend_Db_Table
{
    protected 
$_name 'users';
    protected 
$_primary 'id';
 

el view en donde van a ser mostrado los datos es:

Código PHP:
<h1>Users</h1>
<?php if (count($this->paginator)) { ?>
    <?php foreach ($this->paginator as $item) { ?>
        <?php echo $item['nombre']; ?><br />
    <?php ?>
<?php 
?>
<br />
<?php echo $this->paginationControl($this->paginator); ?>
y el search_pagination_control.phtml es:

Código PHP:
<?php if ($this->pageCount): ?> 
<div id="paginationControl">
<!-- Previous page link --> 
<?php if (isset($this->previous)): ?> 
    <a href="<?= $this->url(array('page' => $this->previous)); ?>">&lt; Previous</a> | 
<?php else: ?> 
    <span class="disabled">&lt; Previous</span> | 
<?php endif; ?> 
 
<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?> 
    <?php if ($page != $this->current): ?>
        <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page?></a> | 
    <?php else: ?>
        <?= $page?> | 
    <?php endif; ?>
<?php 
endforeach; ?>
 
<!-- Next page link --> 
<?php if (isset($this->next)): ?> 
    <a href="<?= $this->url(array('page' => $this->next)); ?>">Next &gt;</a>
    <?php else: ?> 
        <span class="disabled">Next &gt;</span>
    <?php endif; ?> 
</div> 
<?php endif; ?>
Ademas en mi bootstrap configure mi siguiente router:
Código PHP:
 $router->addRoute 'libreria-listado', new Zend_Controller_Router_Route_Regex 'administracion/libreria/listado/(\d+)', array ('module' => 'administracion''controller' => 'libreria''action' => 'listado' ), array (=> 'page' ) ) ); 
El router funciona perfecto, solo sale el error cuando el paginator lee por asi decirlo el archivo search_pagination_control.phtml.
La verdad no entiendo por que es.

Alguna idea?

Desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 27/01/2009, 11:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: [Zend Framework] Problema con Zend_Paginator

Hola gabyrsh,

Si ves el Manual de Zend, el problema es que no se puede "desemsamblar" una ruta con Regex por lo que tienes que pasarle el cuarto parámetro a Router_Route_Regex con tu ruta válida con sprintf, prueba hacer algo así:

Código php:
Ver original
  1. $route = new Zend_Controller_Router_Route_Regex(
  2.          'administracion/libreria/listado/(\d+)',
  3.          array ('module' => 'administracion', 'controller' => 'libreria', 'action' => 'listado' ),
  4.          array (1 => 'page' ),
  5.          'administracion/libreria/listado/%s' );
  6. $router->addRoute ( 'libreria-listado',  $route);

Saludos
  #3 (permalink)  
Antiguo 28/01/2009, 06:06
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: [Zend Framework] Problema con Zend_Paginator

gracias Gator!! Ahora si me funciona. No entendia ese concepto.
Un abrazo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.