Hey Leute,
ich habe folgende Dateien:
- TodoList.class.php
- TodoListPage.class.php
- todoList.tpl
nun habe ich in der todoList.tpl einen sehr simplen Filter eingebaut.
PHP: TodoListPage.class.php
public function readParameters()
{
parent::readParameters();
if (isset($_REQUEST['done'])) {
$this->doneParameter = \intval($_REQUEST['done']);
}
}
Allerdings auch eine Pagination:
Smarty: todoList.tpl
{hascontent}
<div class="paginationTop">
{content}
{pages print=true assign=pagesLinks application='todolist' controller='TodoList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&done=$done"}
{/content}
</div>
{/hascontent}
Mein Problem:
Wenn ich nun z. B. 27 Einträge habe, aber nach einem Kriterium filtere und nur noch 19 Einträge hätte, dann wird das nicht auf einer Seite (mit höchstens 20 Einträgen) angezeigt, sondern auf zwei. Denn die Pagination wird durch meinen oben gezeigten "Filter" ja nicht beeinflusst.
Ich gehe davon aus, dass ich das an der Wurzel, also im TodoList-Controller anpacken müsste und die $objects direkt filtern sollte. Wie mach ich das am besten?
Liebe Grüße und Vielen Dank im Voraus!
Julian