SilverStripe Reusable Html
All of Bootstrap's boilerplate element structures as composable templates, as well as some other common HTML structures. Composable templates are achieved using heyday/silverstripe-composeparser, which also provides the short include syntax used in this readme (eg.
Installation (with composer)
$ composer require heyday/silverstripe-reusablehtml
<:bsmodal fade=1> <:bsmodalheader> <h2>Hello, world!</h2> </:bsmodalheader> <:bsmodalbody> <p>We're in a Bootstrap modal!</p> </:bsmodalbody> </:bsmodal>
For a full list of templates provided by this module, look in the templates directory.
Reusable HTML adds two additional template blocks that are used in the templates it provides:
dataattrs. These can also be used in your own templates.
<% required %>
The required block allows defining a list of variables that must be present for the template to render. Missing variables will cause an exception to be thrown during template rendering.
<:MyTemplate foo="Hello"/> // MyTemplate.ss <% required $foo, $bar %> // Result InvalidArgumentException: the field 'bar' is required
<% dataattrs %>
The data attributes block renders all HTML data attributes passed into an include statement. No closing block is required.
<:MyTemplate data-foo="bar"/> // MyTemplate.ss <div <% dataattrs %>></div> // Rendered <div data-foo="bar"></div>