public function view() { $pl = new PageList(); $pl->filterByPageTypeHandle('product'); $paginator = $pl->getPagination(); $pagination = $paginator->renderDefaultView(); $this->set('products', $paginator->getCurrentPageResults()); $this->set('pagination', $pagination); $this->set('paginator', $paginator); }
public function testFilterByActiveAndSystem() { \SinglePage::add(Config::get('concrete.paths.trash')); $c = Page::getByPath('/test-page-2'); $c->moveToTrash(); $results = $this->list->getResults(); $this->assertEquals(11, count($results)); $this->list->includeSystemPages(); // This includes the items inside trash because we're stupid. $totalResults = $this->list->getTotalResults(); $this->assertEquals(12, $totalResults); $pagination = $this->list->getPagination(); $this->assertEquals(12, $pagination->getTotalResults()); $results = $this->list->getResults(); $this->assertEquals(12, count($results)); $this->list->includeInactivePages(); $totalResults = $this->list->getTotalResults(); $this->assertEquals(14, $totalResults); $pagination = $this->list->getPagination(); $this->assertEquals(14, $pagination->getTotalResults()); $results = $this->list->getResults(); $this->assertEquals(14, count($results)); }
/** * @return \Concrete\Core\Search\Pagination\Pagination|\Concrete\Core\Search\Pagination\PermissionablePagination */ public function getPagination() { return parent::getPagination(); }
function action_search_by_tag() { $q = $_GET['query']; // i have NO idea why we added this in rev 2000. I think I was being stupid. - andrew // $_q = trim(preg_replace('/[^A-Za-z0-9\s\']/i', ' ', $_REQUEST['query'])); $_q = $q; $ipl = new PageList(); $aksearch = false; if (empty($_GET['query']) && $aksearch == false) { return false; } if (isset($_GET['query'])) { $ak = CollectionAttributeKey::getByHandle('tags'); $akc = $ak->getController(); $isMultiSelect = $akc->getAllowMultipleValues(); $db = Loader::db(); $criteria = array(); $searchQuery = explode(',', $_GET['query']); if (is_array($_REQUEST['search_paths'])) { foreach ($_REQUEST['search_paths'] as $path) { if (!strlen($path)) { continue; } $ipl->filterByPath($path); } } elseif ($this->baseSearchPath != '') { $ipl->filterByPath($this->baseSearchPath); } if (is_array($searchQuery)) { foreach ($searchQuery as $v) { $escapedValue = $v; if ($isMultiSelect) { $criteria[] = "(ak_tags LIKE '%\n{$escapedValue}\n%')"; } else { $criteria[] = "(ak_tags = '\n{$escapedValue}\n')"; } } $where = '(' . implode($this->relation, $criteria) . ')'; $ipl->filter(false, $where); } } $pagination = $ipl->getPagination(); $results = $pagination->getCurrentPageResults(); $resultImage = array(); $linkProduct = array(); $ih = Loader::helper('image'); $counter = 0; $pageName = []; $pageDescription = []; $counter = 0; foreach ($results as $r) { $linkProduct[] = $r->getCollectionLink(); $oPage = Page::getById($r->getCollectionID()); $oThumb = $oPage->getAttribute('thumbnail'); if (isset($oThumb) && $oThumb != false) { $resultImage[] = $ih->getThumbnail($oThumb, 70, 95, false)->src; } else { $resultImage[] = ''; } $pageName[] = $r->getCollectionName(); $pageDescription[] = $r->getCollectionDescription(); $counter++; } $paginationView; if ($pagination->getTotalPages() > 1 && $pagination->haveToPaginate()) { $showPagination = true; $paginationView = $pagination->renderDefaultView(); } $totalPageNumber; if (count($results) != 0) { $totalPageNumber = $pagination->getTotal(); } else { $totalPageNumber = 0; } //print_r($results); $ajaxSearchResult = array('result' => $results, 'pageNames' => $pageName, 'pageDescription' => $pageDescription, 'page_thumb' => $resultImage, 'pagination' => $paginationView, 'product_links' => $linkProduct, 'total_number' => $totalPageNumber); if (isset($_GET['query']) && !empty($_GET['query'])) { echo json_encode($ajaxSearchResult); } else { echo json_encode(''); } die; }