First I explain what I am trying to do:
We are creating a "Portal" that will contain several applications. Each application will have its own menu. But inside the portal I must always have access to the rest of the applications.
Our idea is to use the LayoutTopMenu of the Build-in and add a sidebar to the left that allows me to access to all the applications:
https://personal-igwpd5x7.outsystemscloud.com/Application1/
https://personal-igwpd5x7.outsystemscloud.com/Application2/
https://personal-igwpd5x7.outsystemscloud.com/Application3/
But from the sidebar the user can navigate at any time to any of the portal applications:
This is how we have designed the modules:
A module OnePortalTheme containing the css(OnePortalTheme), a block called LayoutTopMenuPortal (which is the layout we want to use on all the screens of all the Portal applications), A block called PortalMenu containing the links to all the applications.
On the other hand, we have a module per Portal Application (Application1, Application2, Application3) that contains its own CSS and the Menu block with the menu items of the application. These modules refer to the following OnePortalTheme elements:
The CSS, the LayoutTopMenuPortal and the PortalMenu:
Our idea is adding the Sidebar to the LayoutTopMenuPortal and add a button that shows the Sidebar. But when we try implement the Sidebar according to the outsystems documentation (https://success.outsystems.com/documentation/11/developing_an_application/design_ui/patterns/using_mobile_and_reactive_patterns/interaction/sidebar/), we are not able to find the WidtgetId of the sidebar:
Even the sidebar is correctly defined:
Attached is the OnePortalTheme.oml. Application1.oml you can find it in the first comment
Hi,
the reason you can't access it from the layoutblock action, is because you have put it in a placeholder.
anything in the placeholder will be part of the screen using the layout block, and be accessible in that screen, but not from inside the layout logic, blocks can never access widgets or variables of the screens they are placed on (*).
Dorine
(*) at least not in a low code fashion
Attached Application1.oml