少し混乱しています。
フロントエンドのページネーションによって作成されたリンクを見ると、個々のページ番号リンクと開始リンクと終了リンクにstartというクエリパラメータが含まれています。
ただし、メソッドpopulateState
ベースJModelList
クラスはlimitstart
if _$this->context
_には_non null value
_があります。
JModelList
の基本コンストラクターは_$this->context
_を_<component_name>.<model_name>
_と等しくなるように設定するため、デフォルトの場合のように見えます_$this->context
_はnullではないため、通常、populateStateは_$_GET['limitstart']
_から値を割り当てます- getUserStateFromRequest()
省略コードが示すように:
_$value = $app->getUserStateFromRequest($this->context . '.limitstart', 'limitstart', 0);
$limitstart = ($limit != 0 ? (floor($value / $limit) * $limit) : 0);
$this->setState('list.start', $limitstart);
_
誰かがなぜこのように行われるのか、そして行を保持する変数に同意するためにpopulateStateおよびpaginationを取得するために私がしなければならないことを誰かが説明できたら、私は本当に感謝しますページを開始する必要があること。
TIA。
Joomlaがプロセスの開始からページレンダリングの終了までのコードを使用するため、いくつかのデフォルトコードは混乱を招きます。要件に従って、ページ分割には2つの状態変数を設定する必要があるため、モデルのオーバーライドされたPopulateState()メソッドで設定する必要があります(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);
さらに、jmodellist親クラスのgetPagination()メソッドを見ると、ページングを表示するために状態変数からどのように計算されるかがわかります。