Ezzel nem is lenne alapvetően semmi gond, de a 2. oldaltól mintha össze vissza kérdezné le az eredményeket. Van erre valami megoldás? Vagy esetleg én csinálom rosszul?
Igen, pont így szeretném. De nem CActiveDataProvider-t használok. Sima CDbcriteria és model findAll funkciók. Ezt sajnos nem tudom variálni, mert keresési funkciókból generálja ezt le. Szóval elég komplikált.
Amúgy, ahogy írod. A 2. oldalon már kevesebb jelenik meg, mint amennyinek kellene. De holnap meglesem ezt a saját applyLimit-es dolgot.
Én nem az applyLimit-tel próbálkoztam most, hanem a getOffset-tel, mert ez állítja be az értéket. Tegnap is próbálkoztam már ezzel csak nem a CPanination-ön belül.
Már majdnem jó a dolog.
4 adattal próbálkozok most.
1 oldalra 1-et akarok, a 2.-ra kettőt, a harmadikra meg maradna 1
Az első 2. oldal így már jó is, viszont a 3. oldalt nem jeleníti meg. Azt levágja, de úgy néz ki jó úton haladok.
class MyCPagination extends CPagination {
public function getOffset() {
if($this->getCurrentPage() != 0) {
return ($this->getCurrentPage()*$this->getPageSize())-Yii::app()->params['firstPageSize'];
} else {
return $this->getCurrentPage()*$this->getPageSize();
}
}
}