murph-doc/docs/tree/node.md
Simon Vieille 44f8da3750
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
add roles
2023-03-12 00:44:48 +01:00

57 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Node
A node allows you to create a tree structure in a menu.
To create or update a node, click on "Edit" or the sign "+". The basic information to fill is `label` but more parameters are accessible via 4 tabs:
* Content
* Routing
* Attributes
* Sitemap
## Content
The content tab allow you to define an optional `Page` to associate to the node. You can also define that the node is an alias of another node.
## Routing
The routing tab is very important. It allows you to define all parameters related to:
* The routing (obviously):
* An optional URL with parameters
* A route name generated using the field `code`
* A custom content-type of the response (eg: 'text/plain')
* A custom controller called when the node is requested
To add a controller in the list, edit `config/packages/app.yaml`:
```yaml
core:
site:
controllers:
- {name: 'Foo', action: 'App\Controller\ExampleController::foo'}
- {name: 'Bar', action: 'App\Controller\OtherController::bar'}
```
If you need to restrict the access, you can provided a list of roles in the configuration:
```yaml title="config/packages/app.yaml"
core:
site:
security:
roles:
- {name: 'Foo role', role: 'ROLE_FOO'}
- {name: 'Bar role', role: 'ROLE_BAR'}
```
Then you will be able to select what roles are required:
![](/_static/img/tree/roles.png)
## Attributes
Attributes are a collection of keys and values attached to a node (eg: class, icon, whatever you want).
## Sitemap
This tab contains information to configure the sitemap.