1
0

Added Pagination to Programs/index

This commit is contained in:
2014-06-02 19:31:14 +02:00
parent ad5226a1d1
commit 94c006f371
9 changed files with 241 additions and 187 deletions

View File

@@ -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' => '&laquo;', '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' => '&raquo;', 'url' => '?page=' . ($page+1), 'disabled' => ($page >= $pagecount)];
echo TbHtml::pagination($pagination_arr,
[
'align' => 'right',
]);
}
?>
</div>