1.8 KiB
# 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.
A page only represents the content and a way to display it by setting a template.
To add a page in the list, edit config/packages/app.yaml:
core:
site:
pages:
App\Entity\Page\SimplePage:
name: 'Simple page'
templates:
- {name: "Default", file: "page/simple/default.html.twig"}
App\Entity\Page\YourPage:
name: 'Your page'
templates:
- {name: "Template 1", file: "page/your_page/template1.html.twig"}
- {name: "Template 2", file: "page/your_page/template2.html.twig"}
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 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:
core:
site:
controllers:
- {name: 'Foo', action: 'App\Controller\ExampleController::foo'}
- {name: 'Bar', action: 'App\Controller\OtherController::bar'}
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.