Important Notice from AspDotNetStorefront
It is with dismay that we report that we have been forced, through the action of hackers, to shut off write-access to this forum. We are keen to leave the wealth of material available to you for research. We have opened a new forum from which our community of users can seek help, support and advice from us and from each other. To post a new question to our community, please visit: http://forums.vortx.com
Results 1 to 11 of 11

Thread: Left nav flyout menu in Version 9??

  1. #1
    emilym is offline Junior Member
    Join Date
    Jan 2011
    Posts
    11

    Default Left nav flyout menu in Version 9??

    Ok, I used to have a store in Version 8, and I used this solution shown here http://forums.aspdotnetstorefront.co...ghlight=flyout and it worked great!

    But it isn't working in version 9! Editing rev.categories.xml.config seems to have no effect at all on the way the left-hand sidebar displays. (Which file do I edit if I want to alter the display of the left sidebar?)

    What I want to do is just have all those lists subcategories showing all the time in the left-hand sidebar, so that I can hide/show the subcategories with CSS and Javascript.

  2. #2
    cjbarth is offline Senior Member
    Join Date
    Oct 2008
    Posts
    392

    Default

    It sounds like this might work for you:

    http://www.ecommercecartmods.com/p-7...torefront.aspx
    ML9.3.1.1
    SQL 2012 Express
    VS 2010
    Azure VM

  3. #3
    emilym is offline Junior Member
    Join Date
    Jan 2011
    Posts
    11

    Default

    Thank you, but this wasn't the solution I'm looking for. I already have a fully functional css/javascript flyout navigation that I'm happy with, we're using it elsewhere in the site and we aren't looking to change that functionality at all.

    The specific answers I'm hoping to find are:

    1) Which piece of code controls the display of items in that left-hand nav bar? Is it rev.categories.xml.config? Or is it another file? Where is the code that I can edit to customise the left-hand nav? Why doesn't editing rev.categories.xml.config seem to have any effect on the way the left-hand nav displays?

    2) How would I alter the code that controls the left-hand sidebar so that all of the subcategories are on display all the time?

    Thank you

  4. #4
    cbom is offline Junior Member
    Join Date
    Mar 2011
    Posts
    2

    Default

    With regards to question 1, the best thing to do would be to check your main template (the template.ascx file inside the folder for whichever skin you are using). If you find the point in the template file's HTML where your left hand nav is inserted, you should see a reference to the Xml Package being used for the navigation.

    Hope this helps,

    Chris

  5. #5
    emilym is offline Junior Member
    Join Date
    Jan 2011
    Posts
    11

    Default

    There isn't a reference to an xml package.

    The code that appears in my template is:


    <aspdnsf:EntityControl ID="ctrlEntitySection" runat="server" Header="<%$ Tokens:StringResource, AppConfig.SectionPromptPlural %>"
    EntityType="Section" MaxMenuSize="<%$ Tokens:AppConfigUSInt, MaxMenuSize %>" />

    So, is that referring to some xml package, or is it not referring to an xml package?

    Also, in case the question comes up, there is also no reference to any xml package when I view source in the browser.

    Where do I need to look to find the code that controls the appearance of that left-hand sidebar menu?

    How do I get all sub-menu items to stay visible all the time?

  6. #6
    cjbarth is offline Senior Member
    Join Date
    Oct 2008
    Posts
    392

    Default

    That is referring to the code file called EntityControl.vb in the AspDotNetStorefrontControls project. You can set through the code there to find what you are looking for.
    ML9.3.1.1
    SQL 2012 Express
    VS 2010
    Azure VM

  7. #7
    emilym is offline Junior Member
    Join Date
    Jan 2011
    Posts
    11

    Default

    I am unwilling to purchase source code to get the same functionality I was able to have without the source code in ML8.

    Without source code, how do I go about altering the appearance of the left-hand sidebar? It was possible to do this in ML8 without source code, so it should definitely be possible to do it in ML without source code.

  8. #8
    cjbarth is offline Senior Member
    Join Date
    Oct 2008
    Posts
    392

    Default

    Just use the code you had in your v8 template. The XML processor hasn't changed, so you should just be able to copy the line from your old template to your new template.
    ML9.3.1.1
    SQL 2012 Express
    VS 2010
    Azure VM

  9. #9
    emilym is offline Junior Member
    Join Date
    Jan 2011
    Posts
    11

    Default

    Okay, this is the code in template.master in version ML:
    <aspdnsf:EntityControl ID="ctrlEntitySection" runat="server" Header="<%$ Tokens:StringResource, AppConfig.SectionPromptPlural %>"
    EntityType="Section" MaxMenuSize="<%$ Tokens:AppConfigUSInt, MaxMenuSize %>" />


    And this is the code in template.ascx in version ML8:

    (!XmlPackage Name="rev.categories"!)

    rev.categories.xml.config is an identical file in both versions of the software that I have; thus code will have no effect. Since these files are identical, and since your answer was not clear, I took your answer to mean that the specific line:

    (!XmlPackage Name="rev.categories"!)

    should be pasted into "template.master". Is that correct? Is that what I am supposed to be doing? Is that what you meant by "copying the code?" Is that the specific code that I should be copying? This solution didn't work. Specifically, the text "(!XmlPackage Name="rev.categories"!)" appeared where the left-hand sidebar should've been.

    Is there anyone who is able to tell me directly, in very specific terms, line-for-line, exactly which specific lines of code in which specific file need to be copied into "template.master" to restore the same rev.categories.xml.config functionality that we had in version 8?
    Last edited by emilym; 04-11-2011 at 12:46 PM.

  10. #10
    cjbarth is offline Senior Member
    Join Date
    Oct 2008
    Posts
    392

    Default

    I'm sorry my answers aren't helpful to you. Since I don't use this feature I'm not able to reproduce this.

    When I said to copy I certainly meant that syntax would have to be converted too.

    In ML9 that syntax is no longer valid: http://manual.aspdotnetstorefront.co...in-tokens.aspx

    Please use the following syntax instead:

    <%$ Tokens:XMLPACKAGE %> - Runs the specified XML package with the runtime params specified (if any).
    NOTE: This tag allows you to pass custom parameters to XML packages. For example, invoking the token with the format <%$ Tokens:XMLPACKAGE, xmlpackagename, parametername=value %> will run the specified package and pass it a runtime parameter with the value you specify. That can be accessed in the XML package with <xsl:value-of select="/root/Runtime/parametername" />

    I hope this is specific enough for you.
    ML9.3.1.1
    SQL 2012 Express
    VS 2010
    Azure VM

  11. #11
    mmcgeachy is offline Senior Member
    Join Date
    Sep 2008
    Posts
    174

    Default

    To be honest with the source code it is a bit easier to make the old rev.categories xmlPackage work properly. This because only the root categories will show and it will never expand to sub the categories. That categories don't expand because routing query strings are not passed to Xmlpackages. There are still ways to pass the route query string information if so desired however. I would recommend reading these two threads here and here as a starting point. Not a copy paste solution but it should be a step in the right direction.

    As to how to display a xmlpackage in a master page there are two ways that I can think of doing so. They are using a token as described above or registering the XmlPackage control. Registering the xml package would like like this:
    C#/VB.NET Code:
    <%@ Register TagPrefix="aspdnsf" TagName="XmlPackage" Src="~/Controls/XmlPackageControl.ascx" %> 
    and using the control would look like this
    C#/VB.NET Code:
    <aspdnsf:XmlPackage ID="Package1" runat="server" PackageName="rev.categories" /> 
    Hope this helps.