2011-11-14 4 views
0

ビュー機能のコントローラーページで正しくページングできません。手伝ってください。以下のコードは私のコントローラページです。ページナンバー内のすべての値を適切に割り当てましたか?コントローラページのページネーションエラー

私は必要な表示コードを持っている私の見解ページで
function view() { 
    $user_id = $this->layout = 'mainLayout'; 
    $user_id = $this->Auth->user('id'); 
    if (!empty($user_id)) { 
     $userInfo = $this->User->getUserInfo($user_id); 

    $friends_list = $this->Connection->getFriendsId($user_id); 

    //getting the friends information by just passing the id of the user 
    $all_friends_info = Classregistry::init('User')->getUserInfoList($user_id, $friends_list); 

    $this->set(compact('all_friends_info','userInfo')); 

    } 

    $this->paginate = array('conditions' => array('User.id' =>$all_friends_info), 
          'limit' => 10); 
    $data = $this->paginate('friends_list'); 
    $this->set('friends_list',$data); 
    $this->set('data', $this->paginate('User', $all_friends_info)); 
} 

<?php 
    echo $this->Paginator->counter(array(
     'format' => __('Page %page% of %pages%, showing %current% users out of %count% total connections', true) 
    )); 
    ?> </p> 

<div class="paging"> 
    <?php echo $this->Paginator->prev('<< ' . __('previous', true), array(), null, array('class' => 'disabled')); ?> 
    | <?php echo $this->Paginator->numbers(); ?> 
    | 
    <?php echo $this->Paginator->next(__('next', true) . ' >>', array(), null, array('class' => 'disabled')); ?> 
</div> 
+0

2行目のuser_idを上書きするとどうなりますか?また、デバッグを2にすると、どのようなエラーが発生しますか?ああ、:$データ= $ this-> paginate();空にすることができます...どのようにしてこのコードを完成させましたか? –

+0

@HansWassinkは、2行目と3行目に$ user_idを割り当てる理由を尋ねるのは正しいです。また、コントローラに$ paginate変数を設定しましたか?何が起こっているのかを明確にすることができますか?あなたはそれが正しく改ページされていないと述べていますが、正確にはどういう意味ですか?コントローラからデータを取得していないのですか、またはページネーションリンクが機能していませんか?もっと説明してください。 –

答えて

0

私は多くのミスを見て、多分そのうちの一つが問題である:S(あなたが本当に何を問題としませんこの$user_id = $this->layout = 'mainLayout';$this->layout = 'mainLayout';

2でなければなりません)あなたが薄い2のいずれかを行っている:ハンスwassinkが言ったように)....ちょうど正しくページングないことは大きなであり、

1でありますgsを間違っ

2.A)$all_friends_info = Classregistry::init('User')->getUserInfoList($user_id, $friends_list);なぜ呼んclassregistry ::のinitあなたはの$ this - >ユーザー

2.B)あなたが使用する理由その後、ロードされたユーザモデルを持っていない場合にそれを持っている場合$userInfo = $this->User->getUserInfo($user_id);

3)は、今ここで一部

$this->paginate = array('conditions' => array('User.id' =>$all_friends_info), 
          'limit' => 10); 
    $data = $this->paginate('friends_list'); 
    $this->set('friends_list',$data); 
    $this->set('data', $this->paginate('User', $all_friends_info)); 

本当の問題へのpaginate次の2つのページ指定をしています!これはあなたのページングを混乱させますが、少なくとも$ this-> Paginatorの部分は...この場合は最後のものを取得する必要があります。 2つのページングを行うのは、それよりも少し複雑です。それはウィッヒページを認識しませんので、あなたは、これはという名前のparamとしてページを渡し、それを解析する必要があるかもしれません....この

希望を行う方法の

here is a page私が何かを逃した場合、これは、あなたを助けますただコメント;)

関連する問題