implementing frontend pagination for components

This commit is contained in:
SimonGschnell
2024-04-15 13:35:33 +02:00
parent ad956bef8e
commit d77499b73b
8 changed files with 128 additions and 34 deletions
+9 -4
View File
@@ -60,14 +60,19 @@ class Cms extends FHC_Controller
* @return void
*/
public function news($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
$this->load->view('CisHtml/Cms/Content', ['infoscreen' => $infoscreen, 'studiengang_kz' => $studiengang_kz, 'semester' => $semester, 'mischen' => $mischen, 'titel' => $titel, 'edit' => $edit, 'sichtbar' => $sichtbar]);
}
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
$page = intval($this->input->get('page', true));
$pagination_size = 10;
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $pagination_size);
if (isError($news))
return $this->load->view('CisHtml/Error', ['error' => getError($news)]);
$this->load->view('CisHtml/Cms/Content', ['content' => getData($news)]);
if (isError($news)) {
echo json_encode(getError($news));
}
echo json_encode(getData($news));
}
}
+8 -8
View File
@@ -55,15 +55,15 @@ class News_model extends DB_Model
*/
public function getNewsWithContent($sprache, $studiengang_kz, $semester, $fachbereich_kurzbz = null, $sichtbar = true, $maxalter = 0, $page = 1, $page_size = 10, $all = false, $mischen = true)
{
if (isset($page) && is_numeric($page) && isset($page_size) && is_numeric($page_size)) {
if ($page > 0 && $page_size > 0) {
$maxPageCount = $this->getMaxPageCount($page_size);
if ($maxPageCount) {
$page = $page % $maxPageCount;
}
$offset = $page * $page_size;
$this->addLimit($page_size, $offset);
if (isset($page) && is_numeric($page) && isset($page_size) && is_numeric($page_size) && $page > 0 && $page_size > 0) {
$maxPageCount = $this->getMaxPageCount($page_size);
if ($maxPageCount) {
$page = $page % $maxPageCount;
}
$offset = $page * $page_size;
$this->addLimit($page_size, $offset);
} else {
$this->addLimit($page_size);
}
+4 -3
View File
@@ -1,5 +1,6 @@
<?php
$includesArray = array(
'primevue3' => true,
'customJSModules' => ['public/js/apps/Cis/Cms.js'],
'customCSSs' => [
'public/css/Cis4/Cms.css',
@@ -11,8 +12,8 @@ $this->load->view('templates/CISHTML-Header', $includesArray);
?>
<div id="cms">
<?= $content; ?>
<content />
</div>
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>