Including the helper in the AppController works with the missed indexes, but navigating through the pages causes new problems with the sessions and/or renders the element twice. By the moment I'll left apart the AJAX pagination, other things need my atention now.
Thanks for the help, doc. On Feb 3, 12:13 am, "dr. Hannibal Lecter" <lecter...@gmail.com> wrote: > Xoubaman, > > use var $helpers = array(..., 'Paginator'); in your AppController. > > make sure you fetch your data by using $this->paginate() in your > controller to avoid the undefined indexes you're getting. > > Don't use renderElement() it has been deprecated, useelement() > instead. > > Hope that will set you on the right track. > > On Feb 2, 6:16 pm, Xoubaman <xouba...@gmail.com> wrote: > > > I've discovered the view method renderElement, that has a parameter > > called loadHelpers, false but default, that looked good. > > > But it doesn't work. Thepaginatorhelper isn't loaded and I'm getting > > the same odd undefined indexes notices. > > > The renderElement method isn't properly explained neither in the doc > > or the api, so I don't know if it's useful, deprecated or whatever. > > > If i can't use thepaginatorinside anelement, I think is far away > > from the shining proclamed in the doc :( > > > On Jan 30, 11:54 am, Xoubaman <xouba...@gmail.com> wrote: > > > > Some progress: adding thepaginatorhelper to the helpers array avoid > > > the "call to a memeber function in a non-object", but thepaginator > > > doesn't paginate anything. In each helper call an undefined index > > > error is shown. > > > > Notice (8): Undefined index: pageCount [CORE\cake\libs\view\helpers > > > \paginator.php, line 476] > > > Notice (8): Undefined index: count [CORE\cake\libs\view\helpers > > > \paginator.php, line 416] > > > ... > > > > Any idea? > > > > Note that thepaginatorhelper must be added to the items controller, > > > not the item_comments controller. > > > > On Jan 30, 1:10 am, "dr. Hannibal Lecter" <lecter...@gmail.com> wrote: > > > > > This is just a wild guess, but perhaps it is not applied when you're > > > > using requestAction()? It is (if I understand correctly) a separate > > > > request as far as cake is concerned. > > > > > Try adding thepaginatormanually in your controller, and if that > > > > doesn't work maybe someone else will offer more help. > > > > > On Jan 29, 10:06 pm, Xoubaman <xouba...@gmail.com> wrote: > > > > > > I edited some code to make it more readable in the group, looks like > > > > > that is a misstip. The requestAction works fine, in fact if I comment > > > > > all $paginatormentions the foreach shows the expected results. > > > > > > The doc reads that setting var $paginate and using the method paginate > > > > > () automatically adds the PaginationHelper. > > > > > > On Jan 29, 8:50 pm, "dr. Hannibal Lecter" <lecter...@gmail.com> wrote: > > > > > > > Well, maybe you didn't include the PaginatorHelper in your app. > > > > > > > Other thing which seems odd to me is that your controller is > > > > > > "ItemsComments", but in yourelementyou're calling > > > > > > $this->requestAction('items/get_comments/'.$id). Is > > > > > > 'items/get_comments/' > > > > > > > properly mapped to ItemsComments::index()? > > > > > > > On Jan 29, 7:22 pm, Xoubaman <xouba...@gmail.com> wrote: > > > > > > > > I'm trying to code anelementthat shows the comments about a > > > > > > > certain > > > > > > > item, but when I'm using thepaginatorhelper i get a "Fatal error: > > > > > > > Call to a member function numbers() on a non-object in[...]" > > > > > > > message. > > > > > > > > Searching the group i found that some users had the same problem, > > > > > > > but > > > > > > > never received a valid answer, so... let's try again. > > > > > > > > The code: > > > > > > > > CONTROLLER: > > > > > > > > class ItemsCommentsController extends AppController { > > > > > > > > function index($id = null) { > > > > > > > if (!$id) { > > > > > > > $this->Session->setFlash(__('Invalid > > > > > > > Item.', true)); > > > > > > > $this->redirect(array('action'=>'index')); > > > > > > > } > > > > > > > $comments = $this->paginate('ItemComment', array > > > > > > > ('ItemComment.item_id =' => $id)); > > > > > > > > if(isset($this->params['requested'])) { return > > > > > > > $comments;} > > > > > > > > $this->set('comments', $comments); > > > > > > > } > > > > > > > > } > > > > > > > > VIEW: > > > > > > > > echo > > > > > > > $this->element('item_comments',array('id'=>$item['Item']['id'])); > > > > > > > >ELEMENT: > > > > > > > > <?php $comments = > > > > > > > $this->requestAction('items/get_comments/'.$id); ?> > > > > > > > <?php > > > > > > > echo $paginator->numbers(); ?> > > > > > > > echo $paginator->prev('« Previous ', null, null, array('class' > > > > > > > => > > > > > > > 'disabled')); > > > > > > > echo $paginator->next(' Next »', null, null, array('class' => > > > > > > > 'disabled')); > > > > > > > foreach ($comments as $comment){ > > > > > > > echo '<br />User: '.$comment['User']['username']).'<br />'; > > > > > > > echo $comment['ItemComment']['content'].'<br />'; > > > > > > > } > > > > > > > ?> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---