Da bin ich wieder
mit weiteren Fragen im Gepäck
Bin jetzt schon ein ganzes Stück weiter mit meinem Modul und möchte nun die
Pagination einbauen.
Habe mich weites gehend am ArtikelModul orientiert.
Im Backend habe ich die Möglichkeit zum Speichern der zugehörigen Settings eingebaut und das funzt auch alles.
Im Frontend habe ich nun aber die Probleme.....
Mein var_dump() zeigt folgendes:
object(Ilch\Pagination)#69 (3) {
["page":protected]=>
int(1)
["rowsPerPage":protected]=>
string(1) "5"
["rows":protected]=>
NULL
}
Meine Settings werden also geladen.... 5 Einträge pro Seite also.....
Meine Foreach-Schleife zählt aber 6 Einträge, sodass mir ja eigentlich der Button zur zweiten Seite angezeigt werden
müsste ....
Es wird aber gar nichts angezeigt, außer meine Testausgabe in Zeile 89...
Denke mein Fehler liegt irgendwo in Zeile 87 im getHTML....
<?php
# Holt sich den Key welcher vom Controller ?bergeben wurde
$termin = $this->get('Termin');
$userMapper = $this->get('userMapper');
$pagination = $this->get('pagination');
$admin = null;
if ($this->getUser()) {
$admin = $this->getUser()->isAdmin();
}
// debuggen
echo "<pre>";
var_dump($pagination);
echo "</pre>";
?>
<h1><?=$this->getTrans('Alle Liefertermine')?></h1>
<!-- href ruft die Action im Controler auf und übergibt variable mit Wert hier.... $neuer = termin -->
<h3><a class="btn btn-primary" href="<?= $this->getUrl(['action' => 'anlegen', 'neuer' => 'termin']); ?>">Termin anlegen</a></h3>
<!-- Wenn Tabelle Eintr?ge nicht leer, dann ausgeben -->
<?php if ($termin != ''):
$termineProSeite = 0;
?>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Match</th>
<th scope="col">Vorgang</th>
<th scope="col">Lieferung</th>
<th scope="col">Name/Firma</th>
<th scope="col">Adresse</th>
<th scope="col">HausNr.</th>
<th scope="col">Plz</th>
<th scope="col">Ort</th>
<th scope="col">Lieferdatum</th>
<th scope="col">Uhrzeit</th>
<th scope="col">Info</th>
<th scope="col">Nutzeraktionen</th>
</tr>
</thead>
<tbody>
<?php foreach ($termin as $termin):
$termineProSeite++;
?>
<tr>
<td><?=$termin->getMatchcode() ?></td>
<td><?=$termin->getVorgang() ?></td>
<td><?=$termin->getLieferung() ?></td>
<td><?=$termin->getName() ?></td>
<td><?=$termin->getAdresse() ?></td>
<td><?=$termin->getHausnummer() ?></td>
<td><?=$termin->getPlz()?></td>
<td><?=$termin->getOrt()?></td>
<td><?=$termin->getLieferdatum() ?></td>
<td><?=$termin->getUhrzeit() ?></td>
<td><?=$termin->getInfo() ?></td>
<td>
<a class="btn btn-primary" href="<?= $this->getUrl(['action' => 'anzeigen', 'id' => $termin->getId()]); ?>">Anzeigen</a>
<a class="btn btn-warning" href="<?= $this->getUrl(['action' => 'behandeln', 'id' => $termin->getId()]); ?>">Bearbeiten</a>
<?php if ($admin == true){?>
<a class="btn btn-danger" href="<?= $this->getUrl(['action' => 'delete', 'id' => $termin->getId()]); ?>">Löschen</a>
<?php } ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php if ($termineProSeite > 0) { ?>
<div class="pull-left">
<?=$this->get('pagination')->getHtml($this, ['action' => 'index']);
// Testausgabe ergibt 6
echo "$termineProSeite";
}?>
</div>
<?php else: ?>
<!-- sonst, Ausgabe keineEintraege -->
<?=$this->getTrans('no') ?>
<?php endif; ?>
Wer hilft weiter ....