hi Marshall
Deep-linking will always be working as long as your pages are proper page node in the XML.
You'll probably have to change the code of the "normal" menu not to show some items and build another class (your top menu) that shows only the items you need. It shouldn't be hard if you're fine with AS3.
The simplest thing to is create a copy of the XML Site Definition in your menu classes and remove the nodes at run-time.
- Code: Select all
var XMLAmended:XML = Soma.getInstance().content.data.copy();
// delete nodes I dont want to display
Or you can also add a custom page node property like @menuSelector and display only the items depending of the menu (using a E4X filter).
- Code: Select all
<page id="my page 1" menuSelector="myTopMenu"...
<page id="my page 1" menuSelector="myOtherMenu"...
The links you can use to show a page from anywhere is:
- Code: Select all
new PageEvent(PageEvent.SHOW, "myPageNodeID").dispatch();
And to retrieve the XML Site Definition:
- Code: Select all
Soma.getInstance().content.data
Hope it helps.
Romu