Ayuda con Paginador... Porfavar...

edited noviembre 2008 in Principiantes
Tengo un problema con el uso del paginador.... y no lo he podido implementar estoy tratando de correr el del ejemplo de usuario pero no he logrado nada.....
Aqui el Codigo el Cuestion
usuario_controller.php

<?php

class UsuarioController extends ApplicationController {
private $_per_page = 7;

/**
* Formulario de busqueda
**/
public function buscar() {
$this->nullify('page', 'conditions');
}

/**
* Paginador
**/
public function lista($page='') {
/**
* Cuando se efectua la busqueda por primera vez
**/
if($this->has_post('usuario')) {
$usuario = $this->post('usuario', 'trim', 'addslashes');
if($usuario) {
$this->conditions = " nombre LIKE '%{$usuario}%' ";
}

/**
* Paginador con condiciones o sin condiciones
**/
if(isset($this->conditions) && $this->conditions) {
$this->page = $this->Usuario->paginate($this->conditions, "per_page: $this->_per_page", 'page: 1');
} else {
$this->page = $this->Usuario->paginate("per_page: $this->_per_page", 'page: 1');
}
} elseif($page='next' && isset($this->page) && $this->page->next) {
/**
* Paginador de pagina siguiente
**/
if(isset($this->conditions) && $this->conditions) {
$this->page = $this->Usuario->paginate($this->conditions, "per_page: $this->_per_page", "page: {$this->page->next}");
} else {
$this->page = $this->Usuario->paginate("per_page: $this->_per_page", "page: {$this->page->next}");
}

} elseif($page='prev' && isset($this->page) && $this->page->prev) {
/**
* Paginador de pagina anterior
**/
if(isset($this->conditions) && $this->conditions) {
$this->page = $this->Usuario->paginate($this->conditions, "per_page: $this->_per_page", "page: {$this->page->prev}");
} else {
$this->page = $this->Usuario->paginate("per_page: $this->_per_page", "page: {$this->page->prev}");
}
}
}
}
?>

Lista.phtml
<table>
<tr>
<th>id</th>
<th>nombre</th>
</tr>
<?php foreach($page->items as $p): ?>
<tr>
<td><?= $p->id ?></td>
<td><?= h($p->nombre) ?></td>
</tr>
<?php endforeach; ?>
</table>

<br>

<?php if($page->prev) echo link_to('usuario/lista/prev', 'Anterior') ?>
<?php if($page->next) echo ' | ' . link_to('usuario/lista/next', 'Siguiente') ?>

En el Navegador me sale lo siguiente:


Notice: Undefined variable: page in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 6

Notice: Trying to get property of non-object in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 6

Warning: Invalid argument supplied for foreach() in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 6
id nombre


Notice: Undefined variable: page in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 16

Notice: Trying to get property of non-object in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 16

Notice: Undefined variable: page in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 17

Notice: Trying to get property of non-object in /var/www/stcel/apps/default/views/usuario/lista.phtml on line 17

Que puede ser gracias por su ayuda...
Ademas debo mencionar que me gustaria implementar un paginador en el index para que salga siempre al inicio como si se tratase del Browse de StandarForm.

Comentarios

  • edited 4:37
    no lei todo el codigo, pero vi los errores.

    Undefined variable

    en el kumbia 0.5 hay q declarar o debes tener las variables cargadas antes que pasen a la vista

    ej:

    en tu controlador
    $this->page = 1

    Y en la vista ya puedes trabajar con la variable $page, si trabajas con la variable y no haz hecho nada en el controlador con la variable lanzara el error mensionado.
  • edited 4:37
    fidelio yo de nuevo nada q ver hice lo q mencionastes y tampoco me funciona si me pudieras facilitar un ejemplo del mismo te lo agradeceria de corazon algo simple de pocos campos es que el del manual no me funciona tampoco. gracias.
  • Bueno en vista de las dudas que al parecer mucho no entienden el ejemplo del manual tendre que subir un ejemplo... pasame un mail para que me recuerdes...

    deivinsontejeda NOT SPAM kumbiaphp.com
Sign In or Register to comment.