Customize integrated help¶
The integrated help menu is part of the Integrated help introduced as an LTS Update. By default, it provides editors and developers with convenient access to documentation, training and other resources directly from the back office.
You can extend or modify the integrated menu in two ways:
- by modifying a link to user documentation in a yaml file
- by subscribing to the
ibexa_integrated_help.menu_configure.help_menu
event
Modify user documentation link¶
Ibexa DXP provides a comfortable method for replacing a link to user documentation, when you do not want to modify the rest of the integrated help menu. This way you can direct application users such as editors or store managers to specific guidelines in force at your organization, without having to resort to development.
To do in, in config/packages
create the ibexa_integrated_help.yaml
file, with the following configuration:
1 2 |
|
Intercept and modify event¶
Ibexa DXP uses KnpMenuBundle to build its backend menus.
When it builds the integrated help menu, it dispatches the ibexa_integrated_help.menu_configure.help_menu
event to pass information about the contents of the help menu to the front end.
You can intercept this event, and change its contents by creating a subscriber.
With that subscriber, you can access the menu
object, which is an instance of the Knp\Menu\MenuItem
, and all the options passed by this object, and modify them.
This way you can adjust menu sections that are reproduced by the front end as tabs, add new items, or integrate custom links into the help system.
Menu object structure¶
The default menu
object is structured as follows.
Recreate this pattern when modifying an existing event with an intention to send it to the front end.
1 2 3 4 5 6 7 8 9 10 11 |
|
help_general
and help_developers
are menu sections, or tabs.
Sections consist of entries, and each entry carries the following information:
label
- a name of the help menu itemuri
- an external link to the resourceisHighlighted
- a Boolean switch that decides whether the menu item should be placed at the top of the tabicon
- a link to a graphic file to accompany the menu itemdescription
- a summary of what users can expect after clicking the menu item
Create a subscriber¶
Build a subscriber that intercepts the event and modifies it. In this example, it removes a product roadmap entry from the menu and adds a help menu tab with links to product videos. The tab is displayed in a production environment only.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
Tip
If autoconfigure
is enabled, the event subscriber is registered as a service by default.
If not, register it as a service and tag with kernel.event.subscriber
.
1 2 3 4 5 6 |
|
For more ideas on how you can extend the help menu, see Back office menus.