Zdravím, mám problém se stránkováním. Stránkování mám v tomto modelu:
require_once( FRAMEWORK_PATH . 'lib/pagination/pagination.class.php');
$paginatedStream = new Pagination( $this->registry );
$paginatedStream->setLimit( 1 );
$paginatedStream->setOffset( $offset );
$query = "SELECT t.type_reference, t.type_name, s.*,UNIX_TIMESTAMP(s.posted) as timestamp, p.name as poster_name,p.surname as poster_surname, r.name as profile_name, r.surname as profile_surname, i.image, v.video_id, l.URL, l.description FROM statuses s LEFT JOIN statuses_images i ON s.ID=i.id LEFT JOIN statuses_videos v ON s.ID=v.id LEFT JOIN statuses_links l ON s.ID=l.id , status_types t, profile p, profile r WHERE (s.view='friends' AND t.ID=s.type AND p.user_id=s.poster AND r.user_id=s.profile AND ( p.user_id={$user} OR r.user_id={$user} OR ( p.user_id IN ({$network}) AND r.user_id IN ({$network}) ) )) OR (s.view='friendscountry' AND t.ID=s.type AND p.user_id=s.poster AND r.user_id=s.profile AND ( p.user_id={$user} OR r.user_id={$user} OR ( p.user_id IN ({$network}) AND r.user_id IN ({$network}) ) )) ORDER BY s.ID DESC";
$this->registry->getObject('db')->executeQuery( $query );
if( $this->registry->getObject('db')->numRows() > 0 )
{
$this->empty = false;
// průchod přes stavy - jejich identifikátory se uloží do pole, časy převedou do uživatelsky přívětivější podoby a záznam uloží do proudu
while( $row = $this->registry->getObject('db')->getRows() )
{
$row['friendly_time'] = $this->generateFriendlyTime( $row['timestamp'] );
$this->IDs[] = $row['ID'];
$this->stream[] = $row;
}
}
$paginatedStream->setQuery( $query );
$paginatedStream->setMethod( 'cache' );
$paginatedStream->generatePagination();
return $paginatedStream;
Tento model volám pomocí controlleru jenž následně zobrazí výsledky na stránku:
$streamdata = $stream->getStream();
$IDs = $stream->getIDs();
$cacheableIDs = array();
foreach( $IDs as $id )
{
$i = array();
$i['status_id'] = $id;
$cacheableIDs[] = $i;
}
$cache = $this->registry->getObject('db')->cacheData( $cacheableIDs );
$this->registry->getObject('template')->buildFromTemplates( 'header2.tpl.php', 'profile/information/view.tpl.php','stream/page1.tpl.php', 'footer.tpl.php');
$this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'SQL', $pagination->getCache() ) );
A jde mi o to, že tam v controlleru potřebuji včlenit do stránky jak stránkování z modelu pomocí: $this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'SQL', $pagination->getCache() ) ); tak i jednotlivé 'status_id', které jsou v cache a měl bych je volat pomocí: $this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'DATA', $cache);
Nevíte jak na to?