I'm new to panels and have created a custom 'Default site template' with Panels Everywhere which simply has a header, content, and footer region. I've created a header mini-panel which contains a main menu. I'm building a site which has links which change the main menu links and front-page content based on your audience (vets, patients, and providers would have different main menus). For example, 'mydomain.com/vets' would lead to the the vets front-page, and 'mydomain.com/patients' would lead to the patients front-page.

I figured it made good sense (let me know if I'm wrong), to simply create a separate menu for each audience, include them all in the header mini-panel, and set their visibility settings in such a way as to appear only when the url structure is appropriate (i.e. all pages available for the 'vets' audience would have urls that look like "mydomain.com/vets/[page name]".

However, when I try to do this the visibility settings don't seem to trigger for the aliased url. The settings only trigger when I use the non-aliased urls (node/28). Is there a way to remedy this within my header mini-panel, or do I need to put all my header structure into the 'default site template'?

Comments

aaron.silber’s picture

Issue summary: View changes
stevector’s picture

Hi Aaron, the direct answer to your question is to pass the aliased url as a string context from the Panels Everywhere level to the Mini Panel.

However, I think a better fit for this use case would be to use something like Menu Block and/or Menu Position to ensure that the appropriate menu displays.