marketo / silverstripe-menumanager-squared
SilverStripe MenuManager Squared
Installs: 3 024
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 15
Forks: 6
Open Issues: 3
Type:silverstripe-module
Requires
This package is auto-updated.
Last update: 2024-03-15 17:18:11 UTC
README
Installation
Composer
Installing from composer is easy,
Create or edit a composer.json file in the root of your SilverStripe project, and make sure the following is present.
{
"require": {
"marketo/silverstripe-menumanager-squared": "~1.0.0"
}
}
After completing this step, navigate in Terminal or similar to the SilverStripe root directory and run composer install
or composer update marketo/silverstripe-menumanager-squared
depending on whether or not you have composer already in use.
Usage
Add MenuSets to your yaml file with max depth.
The depth variable demarcates the allowed ChildItems of MenuItems of a particular MenuSet.
A MenuSet with depth 0 can only have MenuItems, a depth of 1 indicates that this MenuSet’s first MenuItems can have Child Items, a depth of 2 indicates that this MenuSet’s MenuItems can have Child Items that can have Child Items of their own etc.
MenuSet:
default_sets:
- Main
- Main2
- Footer
Main:
depth: 2
Main2:
depth: 1
Footer:
depth: 1
MenuSet depth defaults to 1.
Menu Item
Menu Manger Squared adds the following fields to MenuItem:
- ChildItems
- Image
Separators can be identified by the class MenuItem_Separator
Usage in template
<% loop $MenuSet('YourMenuName').MenuItems %>
<a href="$Link" class="$LinkingMode">$MenuTitle</a>
<ul>
<% loop $ChildItems %>
<% if $ClassName = 'MenuItem' %>
<li>
<label>$MenuTitle</label>
$Image
<% loop $ChildItems %>
<p><a href="$Link" class="$LinkingMode">$MenuTitle</a></p>
<% end_loop %>
</li>
<% else_if $ClassName = 'MenuItem_Separator' %>
<hr>
<% end_if %>
<% end_loop %>
</ul>
<% end_loop %>