2010-07-07 7 views
1

J'utilise cakePHP 1.26.Mauvaise URL a entraîné la pagination

Dans PostsController, j'ai ceci:

$this->paginate=array('conditions'=>array('Reply.post_id'=>$id),'limit' => 1); 
$w = $this->paginate($this->Post->Reply); 
$this->set('views', $w); 

Et dans le view.ctp, j'ai ceci:

<table><tr><td> 
     <?php echo $paginator->numbers(); ?> 
     <?php 
      echo $paginator->prev('Previous', null, null); 
      echo $paginator->next(' Next', null, null);?> 
    </td></tr></table> 

Et quand je pressais le lien "Suivant", une URL erronée a été montré:
http://localhost:8080/post/view/page:2

L'URL correcte doit être
http://localhost:8080/post/view/2/page:2

L'ID référence Post manque après/post/view/

Pourriez-vous me aider à résoudre le problème s'il vous plaît?

J'ai ajouté cela à la vue.ctp:
$ paginator-> options (array ('url' => $ this-> passedArgs));

Maintenant, les liens Suivant et Précédent sont corrigés, mais les numéros
entre les liens Suivant et Précédent sont toujours incorrects.

Voici ce que les liens Précédent et Suivant llok comme après:
http://localhost:8080/post/view/2/page:2

Mais les liens représentant les numéros 1 | 2 | 3 | 4 | 5 ne sont pas encore changé:
http://localhost:8080/post/view/page:2

Des idées?

Modifier raison: OK,
j'ai changé mon code et a obtenu une nouvelle réponse à la question:
Voici le code dans mon fichier view.ctp:

<?php 
    $paginator->options(array('url' => '../view/'.$postid)); 
    echo $paginator->numbers(); 
    echo $paginator->prev('Previous', null, null); 
    echo $paginator->next(' Next', null, null);  
?> 

Répondre

Questions connexes