Ich bin ein bisschen verwirrt.
Wenn ich mir den durch Paginierung erstellten Link im Front-End anschaue, sehe ich einen Abfrageparameter namens start, der in den einzelnen Seitenzahlen-Links und Start- und End-Links enthalten ist.
Die Methode populateState
in der Basisklasse JModelList
sucht jedoch nach limitstart
if $this->context
a non null value
.
Da der Basiskonstruktor für JModelList
Mengen $this->context
, die gleich sind, <component_name>.<model_name>
im Standardfall $this->context
nicht null ist, weist populateState normalerweise den Wert aus der $_GET['limitstart']
Verwendung zu, getUserStateFromRequest()
wie der abgeschnittene Code zeigt:
$value = $app->getUserStateFromRequest($this->context . '.limitstart', 'limitstart', 0);
$limitstart = ($limit != 0 ? (floor($value / $limit) * $limit) : 0);
$this->setState('list.start', $limitstart);
Ich wäre wirklich dankbar, wenn jemand erklären könnte, warum die Dinge so gemacht werden und was ich tun muss, damit populateState und Paginierung sich auf die Variable einigen, die die Zeile enthält, mit der die Seite beginnen soll.
TIA.
quelle
$pagination = $this->get('Pagination');
Ansichtsdatei aufrufen, sind die erforderlichen Statusvariablen in der populateState-Methode des Modells auf diese Weise leicht zu verstehen -$limit= $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'uint'); $this->setState('list.limit', $limit); $limitstart = JRequest::getUInt('limitstart', 0); $this->setState('list.start', $limitstart);
Antworten:
Einige Standardcodes sind verwirrend, da Joomla diese für Prozesse verwendet, die vom Rendern der Seite bis zum Ende der Seite reichen. Gemäß den Anforderungen muss die Paginierung nach zwei festgelegten Statusvariablen festgelegt werden. Daher müssen Sie die überschriebene populateState () -Methode Ihres Modells (source - com_weblinks) festlegen.
Wenn Sie sich die Methode getPagination () in der übergeordneten Klasse jmodellist ansehen, können Sie außerdem eine Vorstellung davon bekommen, wie Dinge aus Statusvariablen berechnet werden, um die Paginierung anzuzeigen.
quelle