andrelohmann-silverstripe / bootstrap_orderable_frontend
Frontend orderable paginated lists
Installs: 69
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:silverstripe-module
Requires
- php: >=5.3.2
- composer/installers: *
This package is auto-updated.
Last update: 2024-11-29 05:21:10 UTC
README
Maintainers
- Andre Lohmann (Nickname: andrelohmann)
Requirements
Silverstripe 3.2.x
Overview
This Module provides a nice paradigm to build orderable collections on the frontend The orderable list will be paginated and ajaxified (
Usage
create an OrderablePaginatedList in your controller action and add an ajax statement
class MyController extends Controller { ... public function orderableobjects(){ $List = MyOrderableObject::get()->sort('Sort'); $MyOrderableObjects = new OrderablePaginatedList($List, $this->request); $MyOrderableObjects->setPageLength(10)->setSortField('Sort'); // if the sortable list is a many many relation // $MyOrderableObjects->setOwner($OwnerObject)->setManyMany('NAME_OF_MANY_MANY_RELATION'); if($this->request->isAjax()) { return $this->customise(array( "Objects" => $MyOrderableObjects->process(), // process the ordering after OrderablePaginatedList has all information it needs (pageLength, SortField, Owner, ManyManyRelation) "URL" => $this->request->getURL(true) // add this for BackURL parameter ))->renderWith('OrderableObjectsList'); } return $this->customise(new ArrayData(array( "Title" => "My Orderable Objects", "Objects" => $MyOrderableObjects, "URL" => $this->request->getURL(true) // add this for BackURL parameter )))->renderWith( array('Page_orderableobjects', $this->stat('template_main'), $this->stat('template')) ); }
use templates/Layout/Page_orderableobjects.ss and templates/Includes/OrderableObjectsList.ss as base templates to build your own orderable paginated lists
Notice
This repository uses the git flow paradigm. After each release cycle, do not forget to push tags, master and develop to the remote origin
git push --tags
git push origin develop
git push origin master