it-swarm-eu.dev

Confusione dell'impaginazione: l'impaginazione utilizza start, PopulateState utilizza limitstart?

Sono un po 'confuso.

Quando guardo il collegamento creato dall'impaginazione nel front-end, vedo un parametro di query chiamato inizio incluso nei collegamenti dei singoli numeri di pagina e nei collegamenti Inizio e Fine.

Tuttavia, il metodo populateState nella base JModelList la classe cerca limitstart if $this->context ha un non null value.

Poiché il costruttore di base per JModelList imposta $this->context deve essere uguale a <component_name>.<model_name> Sembra nel caso predefinito - $this->context non sarà null, quindi populateState di solito assegnerà il valore da $_GET['limitstart'] utilizzando getUserStateFromRequest() come mostra il codice snipped:

$value = $app->getUserStateFromRequest($this->context . '.limitstart', 'limitstart', 0);
$limitstart = ($limit != 0 ? (floor($value / $limit) * $limit) : 0);
$this->setState('list.start', $limitstart); 

Sarei davvero grato se qualcuno potesse spiegare perché le cose vengono fatte in questo modo e cosa devo fare per ottenere populateState e impaginazione per concordare la variabile che contiene la riga che la pagina dovrebbe iniziare.

TIA.

7
Nick Weavers

Alcuni codici predefiniti sono confusi poiché joomla li utilizza per i processi che iniziano alla fine del rendering della pagina. In base ai requisiti, l'impaginazione deve seguire due variabili di stato impostate, quindi è necessario impostare il metodo populateState () ignorato del modello (source - com_weblinks) -

// List state information
$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);

inoltre, se si osserva il metodo getPagination () nella classe genitore jmodellist, è possibile farsi un'idea di come vengono calcolate le cose dalle variabili di stato per visualizzare l'impaginazione.

3
dev-m