デフォルトでは、populateState
は、モデルのget('Items')
関数の呼び出しを20項目に制限しているようです。
populateState
を書き換えることで、これをどのように上書きできますか?モデルに別の関数を書くことによって?私は2番目のオプションに行きました...
public function getAll(){
return $this->_getList($this->getListQuery());
}
これはうまくいきますが、これを行うにはもっとJoomla風の方法があると思います-私はそれを見つけることができません。
制限の「設定」に関するタイトルの質問に答えるために、これはJoomlaグローバル構成で行われます:「デフォルトリスト制限」。
オーバーライドするために、Joomlaコンポーネントは通常、モデルでこれを使用しているようです:$limit = 0
を使用すると、すべてのアイテムが表示されます
protected function populateState($ordering = null, $direction = null)
{
// set limit
$this->setState('list.limit', $limit);
// set start (eg. what record to begin pagination at)
$this->setState('list.start', $value);
}
他の人が言ったように-これをモデルのpopulateState関数に入れます
$this->setState('list.limit', $limit); #limit=0 removes limit
$this->setState('list.start', $start);
ただし、これらの行がAFTERであることを確認する必要があります
parent::populateState($order, $dir);
または親クラスが値をオーバーライドします
これも試してください
protected function populateState($ordering = null, $direction = null)
{
// Load the list state.
$this->setState('list.start', 0);
$this->setState('list.limit', 10);
}