shahroq / whale_c5_cheat_sheet

concrete5 Cheat Sheet
MIT License
70 stars 33 forks source link

Item Lists and Pagination #22

Closed linuxoid closed 3 years ago

linuxoid commented 4 years ago

Could you please add these to the pagination for v8.4+:

FolderItemList:

use Concrete\Core\Tree\Node\Type\FileFolder;
use Concrete\Core\File\FolderItemList;
use Concrete\Core\Search\Pagination\PaginationFactory;
use Concrete\Core\Http\Request;

$file_folder = FileFolder::getByID($this->file_folder);
if ($file_folder) { 
    $files = new FolderItemList();
    $files->filterByParentFolder($file_folder);
    $files->setItemsPerPage($this->num_files);
    $files->sortByNodeName();

    $factory = new PaginationFactory($this->app->make(Request::class));
    $paginator = $factory->createPaginationObject($files);
    $pagination = $paginator->renderDefaultView();
    $this->set('files', $paginator->getCurrentPageResults());
    $this->set('pagination', $pagination);
    $this->set('paginator', $paginator);
}

FileList:

use Concrete\Core\File\FileList;
use Concrete\Core\Search\Pagination\PaginationFactory;
use Concrete\Core\Http\Request;

$files = new FileList();
$files->setItemsPerPage($this->num_files);
$files->sortByFilenameAscending();

$factory = new PaginationFactory($this->app->make(Request::class));
$paginator = $factory->createPaginationObject($files);
$pagination = $paginator->renderDefaultView();
$this->set('files', $paginator->getCurrentPageResults());
$this->set('pagination', $pagination);
$this->set('paginator', $paginator);

Legacy ItemList:

use Concrete\Core\Legacy\ItemList;
use Concrete\Core\Search\Pagination\PaginationFactory;
use Concrete\Core\Http\Request;

$files = new ItemList();
$files->setItemsPerPage($this->num_files);
$files->setItems($contents);

$factory = new PaginationFactory($this->app->make(Request::class));
$paginator = $factory->createPaginationObject($files);
$pagination = $files->displayPagingV2(false, true);
$this->set('files', $files->getPage());
$this->set('pagination', $pagination);
$this->set('paginator', $paginator);