コード例 #1
0
ファイル: ItemList.php プロジェクト: zonky2/core
 /**
  * Prepare the rendering.
  *
  * @return ItemList
  */
 public function prepare()
 {
     if ($this->objItems) {
         return $this;
     }
     // Create an empty filter object if not done before.
     if (!$this->objFilter) {
         $this->objFilter = $this->objMetaModel->getEmptyFilter();
     }
     if ($this->objFilterSettings) {
         $this->objFilterSettings->addRules($this->objFilter, $this->arrParam);
     }
     $this->modifyFilter();
     $intTotal = $this->objMetaModel->getCount($this->objFilter);
     $calculator = $this->paginationLimitCalculator;
     $calculator->setTotalAmount($intTotal);
     $curPage = (int) \Input::get('page');
     if ($curPage > 1) {
         $calculator->setCurrentPage($curPage);
     }
     $this->objTemplate->total = $intTotal;
     $this->objItems = $this->objMetaModel->findByFilter($this->objFilter, $this->strSortBy, $calculator->getCalculatedOffset(), $calculator->getCalculatedLimit(), $this->strSortDirection, $this->getAttributeNames());
     return $this;
 }