axllent / silverstripe-list-to-bootstrap-grid
Create a Bootstrap grid layout from a SilverStripe List
Installs: 352
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 1
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- silverstripe/framework: ^4.0 || ^5.0
This package is auto-updated.
Last update: 2024-10-15 06:51:00 UTC
README
Easily create a 12-column grid system from a SilverStripe List. The class returns an ArrayList of rows each containing a items (whatever the List was), the column width, and optional offset (to center-align the last row if it has fewer items than the specified value).
This was developed for Bootstrap, however can easily be modified to suit any CSS grid system.
Requirements
- SilverStripe ^4 || ^5
Installation
Install via Composer
You can install it via composer with composer require axllent/silverstripe-list-to-bootstrap-grid
Basic usage
In your page controller:
<?php use Axllent\ListToBootstrapGrid\ListToBootstrapGrid; class CategoryPageController extends PageController { public function getProductRows() { return ListToBootstrapGrid::create( $this->Products(), // The list you wish to convert $columns = 3, // Columns per row - must divide into 12! $center = true // Center-align last row if < than $columns ); } }
Then in your CategoryPage.ss
template:
<% loop $ProductRows %> <div class="row"> <% loop $Items %> <div class="col-sm-{$Up.Width}<% if $First && $Up.Offset %> col-sm-offset-{$Up.Offset}<% end_if %>"> <h2>$Title</h2> ... </div> <% end_loop %> </div> <% end_loop %>