我无法在控制器页面中为我的查看功能正确分页。请协助。以下代码适用于我的控制器页面。我是否在分页中正确分配了所有值?
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 :(得分:0)
我看到很多错误,也许其中一个就是问题:S(你从来没有说过真正的问题是什么,只是没有正确分页就是大......
1)正如Hans wassink所说:$user_id = $this->layout = 'mainLayout';
应为$this->layout = 'mainLayout';
2)你做错了两件事之一
2.a)$all_friends_info = Classregistry::init('User')->getUserInfoList($user_id, $friends_list);
为什么你在$ this-&gt;用户
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));
这里你正在做两个分页!这将弄乱你的分页,至少是$ this-&gt; Paginator的一部分...在这种情况下它应该得到最后一个。做两个分页比看起来复杂一点。您可能需要将页面作为命名param传递并解析它,因为它无法识别哪个页面是哪个....
here is a page如何做到这一点
希望这可以帮助你,如果我想念一些只是评论;)