Added Pagination to Programs/index
This commit is contained in:
@@ -4,14 +4,21 @@
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs = array(
|
||||
'Programs',
|
||||
);
|
||||
|
||||
$this->menu = array(
|
||||
array('label' => 'Create Program', 'url' => array('create')),
|
||||
array('label' => 'Manage Program', 'url' => array('admin')),
|
||||
);
|
||||
const PROGS_INDEX_ROWSIZE = 4;
|
||||
const PROGS_INDEX_PAGESIZE = 16;
|
||||
|
||||
?>
|
||||
|
||||
<?php
|
||||
$this->breadcrumbs = array(
|
||||
'Programs',
|
||||
);
|
||||
|
||||
$this->menu = array(
|
||||
array('label' => 'Create Program', 'url' => array('create')),
|
||||
array('label' => 'Manage Program', 'url' => array('admin')),
|
||||
);
|
||||
?>
|
||||
|
||||
<div class="container">
|
||||
@@ -22,17 +29,23 @@ $this->menu = array(
|
||||
<div class="row-fluid">
|
||||
|
||||
<?php
|
||||
|
||||
$criteria = new CDbCriteria;
|
||||
$criteria->order = "add_date DESC";
|
||||
$criteria->condition = "visible=1";
|
||||
|
||||
$all = Program::model()->findAll($criteria);
|
||||
$rows = ceil((count($all) / 4));
|
||||
|
||||
for ($i = 0; $i < $rows; $i++) {
|
||||
$pagecount = ceil(count($all) / PROGS_INDEX_PAGESIZE);
|
||||
|
||||
$all = array_slice($all, ($page - 1) * PROGS_INDEX_PAGESIZE, PROGS_INDEX_PAGESIZE);
|
||||
|
||||
$rowcount = ceil((count($all) / PROGS_INDEX_ROWSIZE));
|
||||
|
||||
for ($i = 0; $i < $rowcount; $i++) {
|
||||
echo '<ul class="thumbnails">';
|
||||
|
||||
foreach (array_slice($all, $i * 4, 4) as $record) {
|
||||
foreach (array_slice($all, $i * PROGS_INDEX_ROWSIZE, PROGS_INDEX_ROWSIZE) as $record) {
|
||||
$this->widget('ThumbnailPreview',
|
||||
[
|
||||
'caption' => $record->attributes['Thumbnailname'],
|
||||
@@ -44,6 +57,7 @@ $this->menu = array(
|
||||
'starcount' => $record->attributes['Sterne'],
|
||||
'downloads' => $record->attributes['Downloads'],
|
||||
'date' => new DateTime($record->attributes['add_date']),
|
||||
'enabled' => $record->attributes['enabled'],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -52,5 +66,24 @@ $this->menu = array(
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
if ($pagecount > 1) {
|
||||
$pagination_arr = array();
|
||||
|
||||
$pagination_arr[] = ['label' => '«', 'url' => '?page=' . ($page-1), 'disabled' => ($page <= 1)];
|
||||
for($i = 1; $i <= $pagecount; $i++) {
|
||||
$pagination_arr[] = ['label' => $i, 'url' => '?page=' . $i, 'active' => ($i == $page)];
|
||||
}
|
||||
$pagination_arr[] = ['label' => '»', 'url' => '?page=' . ($page+1), 'disabled' => ($page >= $pagecount)];
|
||||
|
||||
echo TbHtml::pagination($pagination_arr,
|
||||
[
|
||||
'align' => 'right',
|
||||
]);
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user