2009-06-22 3 views
4
<?php 
class AlbumsController extends AppController { 
    var $name = 'Albums'; 

    function view($id = null) { 
     $this->Album->id = $id; 
     $this->set('tracks', $this->Album->read()); 
    } 
} 
?> 

Мне интересно, как я применил бы разбиение на страницы на функцию просмотра. У меня это сработало для таких вещей, как:Как настроить разбиение на страницы для определенной функции в CakePHP?

var $paginate = array(
    'limit' => 8,   
    'order' => array(
    'Album.catalog_no' => 'ASC' 
    ) 
); 

function index() { 
    $this->Album->recursive = 0; 
    $this->set('albums', $this->paginate()); 
} 

Но применяя его к вышеупомянутой функции зрения я на немного потери. Благодаря!

ответ

2

Я предполагаю, что вы должны постраничной все треки определенного альбома:

<?php 
class AlbumsController extends AppController 
{ 
    var $name = 'Albums'; 
    var $paginate = array 
     (
      'Track' => array 
      (
       'limit' => 8, 
       'recursive' => -1, // optional, see what you get when you remove it 
       'order' => array('Track.yourOrderField' => 'ASC') 
       /* other conditions... */ 
      ) 
     ); 


    function view($id = null) 
    { 
      $this->paginate['Track']['conditions'] = array('Track.album_id' => $id); 
      $this->set('tracks', $this->paginate('Track')); 
    } 
} 
?> 

Если это не то, что вы просили, дайте мне знать, так что я могу это исправить. ;)

+0

Замечательно, спасибо кучам! Изменить только одно - «var $ paginate = = array». Просто нужно удалить второй знак равенства. Кроме того, он отлично работает. – 2009-06-24 04:50:36

+0

Там мы идем .. :) –

Смежные вопросы