Container for hidden pages

Jan 16, 2011 at 12:00 PM

Hi there!

Is there anyone with a solution for having a details pages to point out from links (including a query string) in content BUT the details target page should not be available from the menus?

The ideal thing would be to have a hidden folder/container with pages OR the possibilty to tag the page as "Do not show in menus".

Best Regards Krezz

Jan 17, 2011 at 11:06 AM

I did it once for our website.

What I did was like this:

  1. Create a page meta data and call it PageSettings
  2. Add a field called Visible ( a boolean value of course) or Hide depends on your approach
  3. Right click the page you want to hide and add the PageSettings page meta data
  4. Edit the page and add the page meta data under Metadata tab
  5. Save and publish the page

Now your page has a field that defines its visible state. Now you need to modify your menu XSL function to not show the hidden pages or to show visible pages. In my approach the pages that didn't have the Visible field or its value was True were shown in the menu. It was something like this:

...
<xsl:variable name="settings" select="/in:inputs/in:result[@name='GetPageSettingsXml']" />
...

<xsl:template match="Page/Page">
    <xsl:variable name="pageId" select="@Id"/>
    <xsl:if test="not($settings/PageSettings[@PageId.Id=$pageId]/@Visible) or $settings/PageSettings[@PageId.Id=$pageId]/@Visible='true'">
      ...

Please note that:

  • You need to add function GetPageSettingsXml to your XSL menu under Function Calls tab
  • In my model I was monitoring sub pages only (Page/Page) but it can be done in any level.

I hope this helps.

Coordinator
Jan 17, 2011 at 9:45 PM

Normally our navigation packages will simply hide a page that have no "Menu title" value, but I suspect you are working on the OmniCorp demo site which have some rule, where empty menu title make it put the page up in the top service menu. This is highly atypical.

I had a similar situation (with a site based on OmniCorp) and I fixed it by adding logic to the navigation XSLT that simply skipped a page, if it's menu title was "*" (some magic string).

But again - this issue is solely on OmniCorp.