/** * @see GridFeature::setOptions() * @param $request PKPRequest * @param $grid Grid */ function setOptions($request, $grid) { // Get the default items per page setting value. $rangeInfo = PKPHandler::getRangeInfo($request, $grid->getId()); $defaultItemsPerPage = $rangeInfo->getCount(); // Check for a component level items per page setting. $componentItemsPerPage = $request->getUserVar($this->_getItemsPerPageParamName($grid->getId())); if ($componentItemsPerPage) { $currentItemsPerPage = $componentItemsPerPage; } else { $currentItemsPerPage = $defaultItemsPerPage; } $iterator = $this->getItemIterator(); $options = array('itemsPerPageParamName' => $this->_getItemsPerPageParamName($grid->getId()), 'defaultItemsPerPage' => $defaultItemsPerPage, 'currentItemsPerPage' => $currentItemsPerPage, 'itemsTotal' => $iterator->getCount(), 'pageParamName' => PKPHandler::getPageParamName($grid->getId()), 'currentPage' => $iterator->getPage()); $this->addOptions($options); parent::setOptions($request, $grid); }