Menus
Menus are stream entries that represent a collection of links.
Menu Fields
Below is a list of fields in the menus stream. Fields are accessed as attributes:
$menu->name;
Same goes for decorated instances in Twig:
{{ menu.name }}
Fields
| Key | Type | Description |
|---|---|---|
|
name |
text |
The menu name. |
|
slug |
slug |
The menu API slug. |
|
description |
textarea |
The menu description. |
Menu Interface
This section will go over the \Anomaly\NavigationModule\Menu\Contract\MenuInterface class.
MenuInterface::getLinks()
The getLinks method returns a collection of the related menu links.
Returns: \Anomaly\NavigationModule\Link\LinkCollection
Example
foreach ($menu->getLinks() as $link) {
echo $link->getUrl();
}
Twig
{% for link in menu.getLinks() %}
{{ link.getUrl() }}
{% endfor %}
MenuInterface::links()
The links method returns the link relation.
Returns: \Illuminate\Database\Eloquent\Relations\HasMany
Example
foreach ($menu->links()->where('parent_id', 1)->get() as $link) {
echo $link->getUrl();
}
Twig
{% for link in menu.links().where('parent_id', 1).get() %}
{{ link.getUrl() }}
{% endfor %}
Menu Repository
This class will go over the \Anomaly\NavigationModule\Menu\Contract\MenuRepositoryInterface
MenuRepositoryInterface::findBySlug()
The findBySlug method returns a menu it's slug.
Returns: \Anomaly\NavigationModule\Menu\Contract\MenuInterface or null
Arguments
| Key | Required | Type | Default | Description |
|---|---|---|---|---|
|
$slug |
true |
string |
none |
The slug of the menu to find. |