当前位置: 首页>>代码示例>>PHP>>正文


PHP PaginatedList::create方法代码示例

本文整理汇总了PHP中PaginatedList::create方法的典型用法代码示例。如果您正苦于以下问题:PHP PaginatedList::create方法的具体用法?PHP PaginatedList::create怎么用?PHP PaginatedList::create使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PaginatedList的用法示例。


在下文中一共展示了PaginatedList::create方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: PaginatedImages

 /**
  * Pagination - Displays 12 Images Per page
  *
  * @var string
  */
 public function PaginatedImages()
 {
     $getImages = $this->owner->Images()->sort('SortOrder DESC');
     $getRequest = $this->getRequest();
     $paginatedImages = PaginatedList::create($getImages, $getRequest)->setPageLength(12);
     return $paginatedImages;
 }
开发者ID:sajansharmanz,项目名称:silverstripe-bootstrap-gallery,代码行数:12,代码来源:GalleryPage.php

示例2: index

 public function index(SS_HTTPRequest $request)
 {
     $properties = Property::get();
     $filters = ArrayList::create();
     if ($search = $request->getVar('Keywords')) {
         $filters->push(ArrayData::create(array('Label' => "Keywords: '{$search}'", 'RemoveLink' => HTTP::setGetVar('Keywords', null))));
         $properties = $properties->filter(array('Title:PartialMatch' => $search));
     }
     if ($arrival = $request->getVar('ArrivalDate')) {
         $arrivalStamp = strtotime($arrival);
         $nightAdder = '+' . $request->getVar('Nights') . ' days';
         $startDate = date('Y-m-d', $arrivalStamp);
         $endDate = date('Y-m-d', strtotime($nightAdder, $arrivalStamp));
         $properties = $properties->filter(array('AvailableStart:GreaterThanOrEqual' => $startDate, 'AvailableEnd:LessThanOrEqual' => $endDate));
     }
     if ($bedrooms = $request->getVar('Bedrooms')) {
         $filters->push(ArrayData::create(array('Label' => "{$bedrooms} bedrooms", 'RemoveLink' => HTTP::setGetVar('Bedrooms', null))));
         $properties = $properties->filter(array('Bedrooms:GreaterThanOrEqual' => $bedrooms));
     }
     if ($bathrooms = $request->getVar('Bathrooms')) {
         $filters->push(ArrayData::create(array('Label' => "{$bathrooms} bathrooms", 'RemoveLink' => HTTP::setGetVar('Bathrooms', null))));
         $properties = $properties->filter(array('Bathrooms:GreaterThanOrEqual' => $bathrooms));
     }
     if ($minPrice = $request->getVar('MinPrice')) {
         $filters->push(ArrayData::create(array('Label' => "Min. \${$minPrice}", 'RemoveLink' => HTTP::setGetVar('MinPrice', null))));
         $properties = $properties->filter(array('PricePerNight:GreaterThanOrEqual' => $minPrice));
     }
     if ($maxPrice = $request->getVar('MaxPrice')) {
         $filters->push(ArrayData::create(array('Label' => "Max. \${$maxPrice}", 'RemoveLink' => HTTP::setGetVar('MaxPrice', null))));
         $properties = $properties->filter(array('PricePerNight:LessThanOrEqual' => $maxPrice));
     }
     $paginatedProperties = PaginatedList::create($properties, $request)->setPageLength(15)->setPaginationGetVar('s');
     return array('Results' => $paginatedProperties, 'ActiveFilters' => $filters);
 }
开发者ID:roopamjain01,项目名称:one_ring,代码行数:34,代码来源:PropertySearchPage.php

示例3: index

 public function index(SS_HTTPRequest $request)
 {
     $properties = Property::get();
     if ($search = $request->getVar('Keywords')) {
         $properties = $properties->filter(array('Title:PartialMatch' => $search));
     }
     if ($arrival = $request->getVar('ArrivalDate')) {
         $arrivalStamp = strtotime($arrival);
         $nightAdder = '+' . $request->getVar('Nights') . ' days';
         $startDate = date('Y-m-d', $arrivalStamp);
         $endDate = date('Y-m-d', strtotime($nightAdder, $arrivalStamp));
         $properties = $properties->filter(array('AvailableStart:LessThanOrEqual' => $startDate, 'AvailableEnd:GreaterThanOrEqual' => $endDate));
     }
     if ($bedrooms = $request->getVar('Bedrooms')) {
         $properties = $properties->filter(array('Bedrooms:GreaterThanOrEqual' => $bedrooms));
     }
     if ($bathrooms = $request->getVar('Bathrooms')) {
         $properties = $properties->filter(array('Bathrooms:GreaterThanOrEqual' => $bathrooms));
     }
     if ($minPrice = $request->getVar('MinPrice')) {
         $properties = $properties->filter(array('PricePerNight:GreaterThanOrEqual' => $minPrice));
     }
     if ($maxPrice = $request->getVar('MaxPrice')) {
         $properties = $properties->filter(array('PricePerNight:LessThanOrEqual' => $maxPrice));
     }
     $paginatedProperties = PaginatedList::create($properties, $request)->setPageLength(15)->setPaginationGetVar('s');
     $data = array('Results' => $paginatedProperties);
     if ($request->isAjax()) {
         return $this->customise($data)->renderWith('PropertySearchResults');
     }
     return $data;
 }
开发者ID:sachithranuwan,项目名称:one-ring-rentals,代码行数:32,代码来源:PropertySearchPage.php

示例4: emulateuser

 /** 
  * Action to emulate a specific user
  * @param $request = HTTPRequest
  * @return redirect
  **/
 public function emulateuser($request)
 {
     Requirements::clear();
     Requirements::css(DEVTOOLS_DIR . '/css/dev-tools.css');
     // not enabled, or not allowed >> get out
     if (!$this->CanEmulateUser()) {
         echo 'You cannot do that';
         die;
     }
     // get URL parameters
     $params = $this->owner->getRequest()->params();
     // URL attribute?
     if (!isset($params['ID'])) {
         $members = Member::get();
         $membersList = array();
         foreach ($members as $member) {
             $membersList[$member->ID] = $member;
         }
         $membersList = ArrayList::create($membersList);
         $membersList = PaginatedList::create($membersList, $this->owner->getRequest());
         $membersList->setPageLength(20);
         return $this->owner->customise(array('Users' => $membersList))->renderWith('EmulateUserPage');
     }
     $member = Member::get()->byID($params['ID']);
     if (!isset($member->ID)) {
         echo 'Could not find user by #' . $params['ID'];
         die;
     }
     $member->logIn();
     return $this->owner->redirect($this->owner->Link());
 }
开发者ID:jaedb,项目名称:dev-tools,代码行数:36,代码来源:DebugTools_ContentControllerExtension.php

示例5: index

 public function index(SS_HTTPRequest $request)
 {
     $products = Product::get();
     if ($search = $request->getVar('Keywords')) {
         $products = $products->filter(array('Title:PartialMatch' => $search));
     }
     if ($minPrice = $request->getVar('MinPrice')) {
         $products = $products->filter(array('Price:GreaterThanOrEqual' => $minPrice));
     }
     if ($maxPrice = $request->getVar('MaxPrice')) {
         $products = $products->filter(array('Price:LessThanOrEqual' => $maxPrice));
     }
     $paginatedProducts = PaginatedList::create($products, $request)->setPageLength(6);
     $data = array('Results' => $paginatedProducts);
     /*
     if($request->isAjax()){
         return $this->customise(array(
             'Results' => $paginatedProducts
         ))->renderWith('ProductSearchResults');
     }
     */
     if ($request->isAjax()) {
         return $this->customise($data)->renderWith('ProductSearchResults');
     }
     return $data;
 }
开发者ID:dunatron,项目名称:onbaord-revamp,代码行数:26,代码来源:fdf.php

示例6: PastOrders

 /**
  * Return all past orders for current member / session.
  */
 public function PastOrders($paginated = false)
 {
     $orders = $this->allorders()->filter("Status", Order::config()->placed_status);
     if ($paginated) {
         $orders = PaginatedList::create($orders, $this->owner->getRequest());
     }
     return $orders;
 }
开发者ID:burnbright,项目名称:silverstripe-shop,代码行数:11,代码来源:OrderManipulation.php

示例7: PaginatedAllProducts

 /**
  * Get a paginated list of products
  *
  * @return PaginatedList
  */
 public function PaginatedAllProducts($limit = 10)
 {
     if ($this->dataRecord instanceof ProductCategory) {
         return PaginatedList::create($this->AllProducts(), $this->request)->setPageLength($limit);
     } else {
         return ArrayList::create();
     }
 }
开发者ID:helpfulrobot,项目名称:i-lateral-silverstripe-commerce,代码行数:13,代码来源:Catalogue_Controller.php

示例8: index

 /**
  * Return a ArrayList of all blog children of this page.
  *
  * @param SS_HTTPRequest $request
  * @return array|HTMLText
  * @throws Exception
  */
 public function index(SS_HTTPRequest $request)
 {
     /** @var PaginatedList $pagination */
     $pagination = PaginatedList::create($this->liveChildren(true), Controller::curr()->request);
     $items = $this->Items > 0 ? $this->Items : 10;
     $pagination->setPageLength($items);
     $data = array('PaginatedPages' => $pagination);
     if ($request->isAjax()) {
         return $this->customise($data)->renderWith('PortfolioHolder_Item');
     }
     return $data;
 }
开发者ID:helpfulrobot,项目名称:ryanpotter-silverstripe-boilerplate,代码行数:19,代码来源:PortfolioHolder.php

示例9: index

 public function index(SS_HTTPRequest $request)
 {
     $screenshots = ModuleScreenshot::get();
     if ($search = $request->getVar('Title')) {
         $screenshots = $screenshots->filter(array('Title:PartialMatch' => $search));
     }
     $paginatedShots = PaginatedList::create($screenshots, $request)->setPageLength(6);
     $data = array('Results' => $paginatedShots);
     if ($request->isAjax()) {
         return $this->customise($data)->renderWith('ScreenShotSearchResults');
     }
     return $data;
 }
开发者ID:dunatron,项目名称:onbaord-revamp,代码行数:13,代码来源:ScreenShotSearchPage.php

示例10: object

 public function object()
 {
     $classname = $this->request->param("ID");
     $classes_to_search = Searchable::getObjects();
     foreach ($classes_to_search as $object) {
         if ($object["ClassName"] == $classname) {
             $cols = $object["Columns"];
         }
     }
     $keywords = $this->getQuery();
     $this->customise(array("MetaTitle" => _t('Searchable.SearchResultsFor', "Search Results for '{query}'", 'This is the title used for viewing the results of a search', array('query' => $this->getQuery())), "Results" => PaginatedList::create(Searchable::Results($classname, $cols, $keywords), $this->request)->setPageLength(Searchable::config()->page_length)));
     $this->extend("onBeforeObject");
     return $this->renderWith(array("SearchResults_{$classname}", "SearchResults_object", "SearchResults", "Page"));
 }
开发者ID:i-lateral,项目名称:silverstripe-searchable,代码行数:14,代码来源:SearchResults.php

示例11: index

 /**
  * @param SS_HTTPRequest $request
  * @return array|HTMLText
  */
 public function index(SS_HTTPRequest $request)
 {
     /**
      * Return a ArrayList of all BlogPage children of this page.
      *
      * @return PaginatedList
      */
     $pagination = PaginatedList::create($this->liveChildren(true), Controller::curr()->request);
     $items = $this->Items > 0 ? $this->Items : 10;
     /** @var PaginatedList $pagination */
     $pagination->setPageLength($items);
     $data = array('PaginatedPages' => $pagination);
     /** If the request is AJAX */
     if ($request->isAjax()) {
         return $this->customise($data)->renderWith('BlogHolder_Item');
     }
     return $data;
 }
开发者ID:helpfulrobot,项目名称:ryanpotter-silverstripe-boilerplate,代码行数:22,代码来源:BlogHolder.php

示例12: index

 /**
  * Index lists all the products
  *
  * @param  SS_HTTPRequest $request
  * @return PaginatedList
  */
 public function index(SS_HTTPRequest $request)
 {
     $transaction = Session::get("transaction");
     // clear old session data
     if (!empty($transaction)) {
         Session::clear("transaction");
         Session::clear("order");
     }
     $filter = array('Active' => true);
     $searchQuery = $request->getVar('search');
     if ($searchQuery) {
         $filter['ProductDescription:PartialMatch'] = $searchQuery;
     }
     $produts = Products::get()->filter($filter);
     $paginatedProducts = PaginatedList::create($produts, $request);
     $paginatedProducts->setPageLength(10);
     $total = $this->total();
     return array('Products' => $paginatedProducts, 'searchQuery' => $searchQuery, 'CartItems' => $this->CartItems(), 'CartItemsCount' => $this->CartItemsCount(), 'CartTotal' => $total["total"], 'ShippingTotal' => $total["shippingtotal"]);
 }
开发者ID:shoaibali,项目名称:silverstripe-shop-lite,代码行数:25,代码来源:ShopPage.php

示例13: getinfo

 /**
  * Action: get info about product set to help you determine how to appropriately use /products
  * @param SS_HTTPRequest $request
  */
 function getinfo($request)
 {
     $limit = $request->getVar('limit') ? $request->getVar('limit') : 1000;
     $products = $this->ProductList();
     $productsItems = PaginatedList::create($products, $request)->setPageLength($limit)->setPaginationGetVar('start');
     $count = $products->Count();
     $sets = floor($count / $limit);
     $setcount = $sets;
     echo '<p>There are a total of <strong>' . $count . '</strong> products.</p>';
     echo '<p>Google should be provided with <strong>' . $setcount . '</strong> different feeds, showing ' . $limit . ' per page.</strong>';
     for ($i = 0; $i <= $sets; $i++) {
         $counter = $limit * $i;
         $link = Director::absoluteURL('/googlebase/products/?limit=' . $limit);
         if ($i > 0) {
             $link .= '&start=' . $counter;
         }
         echo '<p><a href="' . $link . '" target="_blank">' . $link . '</a></p>';
     }
     die;
 }
开发者ID:helpfulrobot,项目名称:tylerkidd-silverstripe-shop-google-base,代码行数:24,代码来源:GoogleBase.php

示例14: results

 /**
  * Process and render search results. This has been hacked a bit to load
  * products into the list (if they exists). Will need to come up with a more
  * elegant solution to dealing with complex searches of objects though.
  *
  * @param array $data The raw request data submitted by user
  * @param SearchForm $form The form instance that was submitted
  * @param SS_HTTPRequest $request Request generated for this action
  */
 public function results($data, $form, $request)
 {
     $results = $form->getResults();
     // For the moment this will also need to be added to your
     // Page_Controller::results() method (until a more elegant solution can
     // be found
     if (class_exists("Product")) {
         $products = Product::get()->filterAny(array("Title:PartialMatch" => $data["Search"], "StockID" => $data["Search"], "Content:PartialMatch" => $data["Search"]));
         $results->merge($products);
     }
     $results = $results->sort("Title", "ASC");
     $data = array('Results' => PaginatedList::create($results, $this->request), 'Query' => $form->getSearchQuery(), 'Title' => _t('SearchForm.SearchResults', 'Search Results'));
     return $this->owner->customise($data)->renderWith(array('Page_results', 'SearchResults', 'Page'));
 }
开发者ID:i-lateral,项目名称:silverstripe-catalogue,代码行数:23,代码来源:CatalogueController.php

示例15: getFiles

 /**
  * Main method to get the folders and/or files to list
  *
  * @param string $restrictClass Restrict the listing to a particular File subclass: 'File' or 'Folder'
  * @return PaginatedList The list of file records
  */
 public function getFiles($restrictClass = null)
 {
     $files = $folders = array();
     $sourceFolderID = $this->getViewingFolder()->ID;
     if ($restrictClass != 'File') {
         // Retrieve the folders
         $folders = Folder::get();
         $excludeFolders = Config::inst()->get('FileListingPage', 'exclude_folder_names');
         if (is_array($excludeFolders) && count($excludeFolders)) {
             $folders = $folders->exclude('Name', array_values($excludeFolders));
         }
         if (($term = $this->request->getVar('term')) && ($term = Convert::raw2sql($term))) {
             $folders = $folders->leftJoin('File_Terms', 'File.ID = File_Terms.FileID')->leftJoin('TaxonomyTerm', 'File_Terms.TaxonomyTermID = TaxonomyTerm.ID')->where("(File.Title LIKE '%{$term}%') OR (File.Description LIKE '%{$term}%') OR (TaxonomyTerm.Name LIKE '%{$term}%')");
         } else {
             $folders = $folders->filter('ParentID', $sourceFolderID);
         }
         $folders = $folders->sort($this->getSortString())->toArray();
     }
     if ($restrictClass != 'Folder') {
         // Retrieve the files.
         $files = File::get()->filter('ClassName:not', 'Folder');
         if ($term) {
             $files = $files->leftJoin('File_Terms', 'File.ID = File_Terms.FileID')->leftJoin('TaxonomyTerm', 'File_Terms.TaxonomyTermID = TaxonomyTerm.ID')->where("(File.Title LIKE '%{$term}%') OR (File.Description LIKE '%{$term}%') OR (TaxonomyTerm.Name LIKE '%{$term}%')");
         } else {
             $files = $files->filter('ParentID', $sourceFolderID);
         }
         $files = $files->sort($this->getSortString())->toArray();
     }
     // Merge the folders and files, so the folders are displayed first.
     if ($files && $folders) {
         $files = array_merge($folders, $files);
     } elseif ($folders) {
         $files = $folders;
     }
     foreach ($files as $key => $file) {
         // Make sure the search results are contained under the current category folder.
         $parent = $file;
         $found = false;
         if ($parent->ParentID) {
             while ($parentID = $parent->ParentID) {
                 if ($parentID == $sourceFolderID) {
                     $found = true;
                 }
                 $parent = File::get()->byID($parentID);
             }
             if (!$found) {
                 unset($files[$key]);
                 continue;
             }
         }
         // Make sure any folders link back to the file listing page.
         $file->Location = $file->ClassName === 'Folder' ? $this::join_links($this->Link(), "?cat={$file->ID}") : ($file->Location = $file->Filename);
     }
     $itemsPerPage = $this->data()->ItemsPerPage ? $this->data()->ItemsPerPage : 10;
     return PaginatedList::create(ArrayList::create($files), $this->getRequest())->setPageLength($itemsPerPage);
 }
开发者ID:helpfulrobot,项目名称:silverstripe-australia-intranet-sis,代码行数:62,代码来源:FileListingPage.php


注:本文中的PaginatedList::create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。