Η cms39_paginate() κάνει όλη τη σελιδοποίηση σε μία κλήση: μετράει, φέρνει τα στοιχεία της τρέχουσας σελίδας και φτιάχνει το HTML. Από κάτω χρησιμοποιεί το Pagerfanta.
$r = cms39_paginate([
'sql' => 'SELECT mod_blog_cat_id FROM cms39_posts WHERE mod_blog_cat_type = ? AND mod_blog_cat_status = 1 ORDER BY mod_blog_cat_date DESC',
'params' => ['post'],
], 12, ['page' => the_id(), 'window' => 5]);
foreach ($r['items'] as $row) {
$post = PageDetail($row['mod_blog_cat_id']);
}
echo $r['html']; // ‹ 1 2 3 4 5 ›Πηγές
- SQL με παραμέτρους (το πλήθος βγαίνει μόνο του, σωστά και με GROUP BY)
- Doctrine QueryBuilder
- δύο συναρτήσεις:
['count' => fn() => …, 'items' => fn($offset, $length) => …] - array που έχετε ήδη
Επιστρέφει items, html, total, page, last. Σελίδα εκτός ορίων (?page=999) δείχνει την τελευταία· μη αριθμός δείχνει την πρώτη. Το HTML έχει τις ίδιες κλάσεις με όλο το site, ή 'view' => 'bootstrap5'.
ΗΛΕΚΤΡΟΝΙΚΑ ή τηλεφωνικά στο +30.2152151245-8