heyday / silverstripe-composeparser
Adds new syntax to SilverStripe's template engine
Installs: 5 196
Dependents: 1
Suggesters: 0
Security: 0
Stars: 6
Watchers: 29
Forks: 1
Type:silverstripe-module
This package is auto-updated.
Last update: 2024-11-29 04:14:19 UTC
README
Allows the use of an html-like syntax for template includes, and new composition functionality for more reusable templates.
Installation (with composer)
composer require heyday/silverstripe-composeparser
Examples
A reusable button
button.ss
<% if $href %> <a class="btn<% if $type %> btn-$type<% end_if %><% if $size %> btn-$size<% end_if %> $classes" href="$href"><% composed %></a> <% else %> <button class="btn<% if $type %> btn-$type<% end_if %><% if $size %> btn-$size<% end_if %> $classes"><% composed %></button> <% end_if %>
Using the button in a template
<:button type="default">A regular button</:button> <:button type="default" href="http://heyday.co.nz">A link to heyday</:button>
The resulting html
<button class="btn btn-default">A regular button</button> <a class="btn btn-default" href="http://heyday.co.nz/">A link to heyday</a>
A reusable Nav
nav.ss
<ul class="nav <% if $classes %> $classes<% end_if %>"><% composed %></ul>
navitem.ss
<li class="nav-item<% if $FirstLast %> nav-$FirstLast<% end_if %><% if $classes %> $classes<% end_if %>"> <% if $Composed %> <% composed %> <% else %> <:navlink href=$href /> <% end_if %> </li>
navlink.ss
<a href="$href" class="$LinkingMode"><% if $Composed %><% composed %><% else %>$MenuTitle<% end_if %></a>
Using the nav
Simple usage: <:nav> <% loop $SomeSet %> <:navitem href=$Link /> <% end_loop %> </:nav> Customised usage: <:nav> <% loop $SomeSet %> <:navitem> <% if $SomeCondition %><span class="i-special-icon"></span><% end_if %> <navlink href=$Link/> </:navitem> <% end_loop %> </:nav>