it-swarm-es.tech

Confusión de paginación: la paginación usa inicio, PopulateState usa limitstart?

Estoy un poco confundido.

Cuando miro el enlace creado por la paginación en el extremo frontal, veo un parámetro de consulta llamado inicio incluido en los enlaces de números de página individuales y enlaces de Inicio y Fin.

Sin embargo, el método populateState en la base JModelList clase busca limitstart if $this->context tiene un non null value.

Dado que el constructor base para JModelList establece $this->context para que sea igual a <component_name>.<model_name> Parece que en el caso predeterminado - $this->context no será nulo, entonces populateState generalmente asignará el valor de $_GET['limitstart'] usando getUserStateFromRequest() como muestra el código recortado:

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

Estaría realmente agradecido si alguien pudiera explicar por qué se hacen las cosas de esta manera, y qué tengo que hacer para obtener populateState y paginación para acordar la variable que contiene la fila que la página debería comenzar.

TIA.

7
Nick Weavers

Algunos códigos predeterminados son confusos ya que joomla los usa para los procesos de inicio a fin de renderizado de página. Según los requisitos, la paginación necesita el siguiente conjunto de dos variables de estado, por lo que debe establecer en el método populateState () anulado de su modelo (fuente - 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);

además, si observa el método getPagination () en la clase padre jmodellist, puede hacerse una idea de cómo se calculan las cosas a partir de las variables de estado para mostrar la paginación.

3
dev-m