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. |