コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: PageListTest.php プロジェクト: masteramuk/concrete5
 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));
 }
コード例 #3
0
 /**
  * @return \Concrete\Core\Search\Pagination\Pagination|\Concrete\Core\Search\Pagination\PermissionablePagination
  */
 public function getPagination()
 {
     return parent::getPagination();
 }
コード例 #4
0
 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;
 }