Upgrade to v2. Accordion not working

Apr 24, 2010 at 10:28 AM


Just made a copy of my production site, and upgraded the copy to V2.0.11.

The accordion menu isn't working. It's displaying fully expanded.

Any ideas?


Apr 24, 2010 at 1:08 PM

Hi JJ,

The only reason I can think for the accordion not working on an upgrade is if the jquery startup code has changed...although it should not during an upgrade. 

What jQuery accoridian code do you have running?...and is this also in the html source when you look at it.



Apr 26, 2010 at 3:35 AM

Both are using the same accordion jquery.

When I look at the html the old version has:

<ul id="NBStoreAccordion" ><li><a class="nbstoremenuhead" href="/Products/tabid/116/CatID/310/Default.aspx">Vipre Premium</a>

The new version has:

<ul id="NBStoreAccordion" ><li><a href="http://vipre.goldrush.local/Products/tabid/116/CatID/310/Default.aspx" >Vipre Premium</a>

So two things are being produced differently:

1. It's dropping the class reference to nbstoremenuhead

2. It's putting in the full url to the category, not the relative one.

Any idea where to look for these?


Apr 26, 2010 at 8:24 AM

Hi JJ,

I'm a bit confused here, because I've just checked the versioning and although there have been some updates to the vb file, nothing has changed on the accordian section of code since v2.0.7.??

Have you upgraded the DNN installation at the same time, or was the test system a stright forward copy of the Live site?

What version of NB_Store did you up[grade from and to which?

What version of DNN are you running?




Apr 26, 2010 at 8:28 AM

Also, what does it say in your "categorymenustartupjs.includes" setting, and also what does the corresponding template content say?




Apr 26, 2010 at 10:12 AM

I was (and am on my production site) running 2.0.6

I haven't touched my version of DNN. I like eating elephants one bite at a time.

DNN 5.02.01 (54)

"categorymenustartupjs.includes" setting:


Both templates have nothing in them.

This is same on production and dev sites.

I just put it all on another server, just to check and same results.

Only other thing is that in my first dev site I put the source code in and got different results again.

Apr 26, 2010 at 8:37 PM

I'd be surprised if the "jqueryaccordion.code" template is actaualy empty.....Are you looking at the template with the fck editor?  Try looking at the source, you should find a script.

I usually use the textbox optiion to display the templates, as this doesn;t try to hide anything.


Apr 26, 2010 at 8:38 PM

An other thought is that the fck editor may be reformatting your scripts and effectivly making them not work??


Apr 26, 2010 at 9:49 PM

Code from 2.0.11

<script language='javascript' type='text/javascript'> jQuery('#NBStoreAccordion').accordion({ active: 'false', header: '.nbstoremenuhead', autoheight: 'true', navigation: 'true', event: 'mouseover' }); </script>

Code from 2.0.6

<script language='javascript' type='text/javascript'> jQuery('#NBStoreAccordion').accordion({ active: 'false', header: '.nbstoremenuhead', autoheight: 'true', navigation: 'true', event: 'mouseover' }); </script>


Both are the same. I assume the .nbstoremenuhead is the class, yet it's not being produced by the HTML?



Apr 26, 2010 at 11:45 PM


I've tried to do some debugging, and my limited DotNet knowledge is limiting me.

I've extracted the source to the destopmodules/nbstore folder

Opened the solution in VS2008.

When I run it I get an error saying "The page cannot be run in debug mode because debugging is not enabled in the Web.config file. What would you like to do? 

Option 1: Add a new web.config file with debugging enabled.

Option 2: Run without debugging

If I select add a new webconfig file, it falls over with:

Error: NB_Store_MiniCart is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. (D:\Inetpub\goldrushtechnology.com.au\desktopmodules\nb_store\web.config line 19) ---> System.Configuration.ConfigurationErrorsException: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. (D:\Inetpub\goldrushtechnology.com.au\desktopmodules\nb_store\web.config line 19) at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName) at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) at System.Web.Configuration.RuntimeConfig.get_Compilation() at System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) at System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) at System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) at System.Web.Compilation.BuildManager.EnsureFirstTimeDirectoryInit(VirtualPath virtualDir) at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode) at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at System.Web.UI.TemplateControl.LoadControl(String virtualPath) at DotNetNuke.UI.ControlUtilities.LoadControl[T](TemplateControl containerControl, String ControlSrc) at DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- End of inner 

If I don't do this I can't debug the code.

I setup the reference to the dotnetnuke.dll

I've change the startup to run the url of my portal that this is all pointing to, ie http://vipre.goldrush.local/

I'm probably missing something simple.


Apr 27, 2010 at 7:42 AM


If you want to debug in VS then the best way I find is to attach to the process.  Have a look at this documentation, I've added a bit on debugging at the end.


Although I don;t think debugging is going to help here, I'm guessing the problem is client side, maybe a script not being loaded.  Email me the source html from your test page where the accordian is not working and I'll have a look.



Apr 27, 2010 at 8:03 AM

I emailed the source to you directly.


Apr 27, 2010 at 9:22 AM

Hi JJ,


I can;t see anything obviously wrong!!...However I notice your using the DNN jQuery script.  First thing to try is change the setting "usednnjquery.flag" to false and use the NB_Store jQuery, I don;t think this is the problem, but it's the first thing to try before we move on.



Apr 27, 2010 at 9:27 AM

another thing I've just noticed is that your startup script for the accoridian has got the wait for document ready script...this so also be fixed..

<script language='javascript' type='text/javascript'>


jQuery('#NBStoreAccordion').accordion({ active: 'false', header: '.nbstoremenuhead', autoheight: 'true', navigation: 'true', event: 'mouseover' });




May 6, 2010 at 8:52 AM

Hi! I have the same problem, after upgrading to the last version accordion does not work. My programmer told me that all scripts are ok and he does not know what the problem...

May 6, 2010 at 9:00 AM

Can you send me a link to your site and I'll have a look.

May 31, 2010 at 9:08 AM
Does anybody have accordion menu working on DNN 5.4.2 and last version of NB Store? I'm still waiting for the developer's reply...
May 31, 2010 at 9:28 AM


Sorry I didn;t get back to you, but I've not had time to find the solution.  I've looked at you site and the scripts look OK.  I've then looked at the jQuery accordian documentation and it look like somethings have changed since I did the NB_Store accordian and these changes don;t seem to be backward compatible.

I need to spend some time fixing it, but I can;t say when that will be.  Sorry but your only alternative until then is to use the treeview menu.  If you change the css then you can make it work very very simular to the accordian.



Jun 17, 2010 at 9:21 AM

Hi, Dave! Did you have some time to look in accordion menu problem?

Jun 19, 2010 at 3:21 PM


Sorry,  No...Only to confirm it doesn't work!!...I've been waiting for our designer to need this feature, but none of our clients use the accordian, and I can't justify leaving paid work waiting while I deal with it.  However I will try to find some time to fix it ASAP.



Jun 10, 2011 at 2:06 PM

Hi Dave,

I too have hit the accordion problem.

I now have some CSS which does a pure CSS menu using the Accordian, it's not ideal but will do for now (IE screws up surprise surprise). However I notice that NB_Store injects accordion AND treeview  links (CSS and JS) as well as inline JS. We have no need for these (later maybe but not now). Is there any way to remove these superfluous elements? I have tried removing the code in the xml templates but that seems to have no effect.

In fact I would like to reduce the number of JS and CSS files.

P.S. Separator is spelt separator not seperator ;)

Jun 10, 2011 at 2:17 PM

Too late on the spelling I think.. that's in there now :)

The accordion hasn't changed since this thread, but if it works for you then yes, you can remove the other bits.

Look in utilities > Settings for

  • categorymenucss.includes
  • categorymenujs.includes
  • categorymenustartupjs.includes

and remove what you don't need.


Jun 10, 2011 at 2:38 PM

Thanks Rob, that was quick!!

The way you say it, it seems that the accordion menu should work, I couldn't get it to work. Are there any examples that do work in the wild? Reading through the various threads on this issue it seems it is now broken and does not work or have I missed something?

Removing the references in the include template did the trick. Is the code in the Templates/ xxxx.xml files

E.G. <settings>
      <categorymenucss.includes Lang="None " HostOnly="False">

only used for initial installation?

Also we are in the process of fixing a bug in the VAT handling, once fixed how do we get it back to you?

Jun 10, 2011 at 2:54 PM

Hehe!....Seperator!!.....that's what you get when going to the Dave Lee school of spelling!!

I've managed to change it in v2.3 beta4.

To donate a bug fix, please use the patch upload on codeplex.


Is it a big bug?....If you can pass it quickly, we might be able to include it in v2.3.



Jun 10, 2011 at 2:56 PM

Yes, the files in teh templates folder are normally only used when the modules are first added to a page. They can however be re-applied by either importing them through the upload field at the bottom of the respective module settings screens, or by simply hitting the reset button that is also found in that location.

The Back Office > Utilities > Settings & Templates are applied through the managermenudefault.xml file and can be reapplied through the BO Admin, Settings tab, either via the reset button, or by uploadings and importing the file. Don't click the reset button unless you've exported all your settings and templates first.

and it looks like Dave's already responded to the rest.

Jun 10, 2011 at 3:19 PM


I've uploaded a small bug fix,the VAT bug fix may take a bit longer but I'll do that when it is ready.

Re: the accordion, are there any working versions that you know of?


Jun 11, 2011 at 2:43 AM

There's a 3rd party menu with an NB Store provider here: http://www.snowcovered.com/Snowcovered2/Default.aspx?tabid=242&PackageID=21279

I haven't used it, but it has loads of menu styles including accordions. I should really try it out seeing as I bought this package a long time back... just need to get an updated release!


Jun 11, 2011 at 2:45 AM

Dave, I was referring to the optionseperator.text template... thought it might be too late to change that?


Jun 13, 2011 at 6:41 AM

Hi Rob,

Yep, your right it could be too late for the setting name.  I'll have a look to see, I've always had a mental block with this word......I know I've been spelling it wrong for years and yet continue to do so!!...must be something to do with my Ilkestonian English pronunciation  :-)


Aug 5, 2011 at 12:21 AM


It's more likely there are two sorts of people in the world. Those that can spell and those that can't. :-)


Aug 6, 2011 at 6:27 AM

only 2 sorts JJ, those that understand binary and those that don't.