Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...NAV Menu bug ??NAV Menu bug ??
Previous
 
Next
New Post
11/20/2006 6:07 PM
 

Skin objects and navigation providers are different.  Nav.ascx, SolpartMenu.ascx, TreeViewMenu.ascx are examples of skin objects.

The Nav skin object may be used with any navigation provider.  

Your choices in navigationproviders are Solpart, DNNMenu, DNNTree, DropDownList, and ASP2Menu.

The solpartmenu carries some baggage due to backwards compatibility.  One of those things is that it gets its arrow images from the systemimagepath.

If you are ok with your arrow images inside the systemimagespath, then you can use solpart, if not, then you need to use a different provider.

As migration towards the Nav Skin Object is encouraged, so is migration towards the DNNMenu (away from Solpart).

For a little background on the move towards the DNNMenu see this blog.

I should state here that there did exist another property in the SolpartMenu Skin object called UseSkinPathArrowImages that would allow solpart to use the skin's path instead.  However, this required ALL systemimages (i.e. spacer.gif) to be in the skin as well.  Since the arrow is not really a system image, the two were uncoupled in the DNNMenu

They do use the same syntax, meaning they all use the same properties.   As far as how they use these properties, they are similar but not exactly the same.  It seems that you would be in favor of either breaking backwards compatibility for solpart (not having arrows in systemimagepath) or restrict the DNNMenu to have this same limitation...  The whole effort towards the new objects was meant to clean things up as much as possible, this dictates that some functionality will be different with the new objects.

My suggestion would be to simply use the DNNMenu.  This is of course assuming that Solpart does not currently have a feature that the DNNMenu does not.  (Eventually DNNMenu will have more features)

 

 


 
New Post
11/20/2006 6:40 PM
 

Thanks for your answer.

Your answer was what I had figured out before in documentation.
But as I see it there is a bug. If you dont trust me do a test!!

Use the example from your ownn document Navigation webcontrols.
(remove the / in  src='[APPIMAGEPATH]/breadcrumb.gif' It is a mistake I asume.)

As I mention before the bug is in the combination of Nav skinobject and solpartMenu..provider.

If you cant see it I will help you to have a test case.

Jan

 

 

 
New Post
11/21/2006 10:09 AM
 

Question:  If you specify a IndicateChildImageRoot and IndicateChildImageSub with the Nav skin object and the SolpartMenu navigation provider does it work?   (It does for me).

If I am understanding you correclty, you are having issue with the default arrows being applied to the nav skin object.  You are saying that the default should not include the [APPIMAGEPATH] portion, right?  I am saying that if I remove that, the DNNMenu will no longer have the correct default arrow path, so one will always be wrong. 

That at least was my understanding before digging further in the code...  The reason removing the APPIMAGEPATH will still work with the DNNMenu is due to a hack that needed to be added to the DNNMenuNavigationProvider when it is used for module actions.

'solpartactions has a hardcoded image with no path information. Assume if value is present and no path we need to add one.

If Len(IndicateChildImageSub) > 0 AndAlso IndicateChildImageSub.IndexOf("/") = -1 Then IndicateChildImageSub = Me.PathSystemImage & IndicateChildImageSub

If Len(IndicateChildImageRoot) > 0 AndAlso IndicateChildImageRoot.IndexOf("/") = -1 Then IndicateChildImageRoot = Me.PathSystemImage & IndicateChildImageRoot

This unfortunately is necessary, which of course causes the DNNMenu to use the system path, like solpart.  I guess it was a tradeoff I forgot about... the DNNMenu allows for an alternate path, it just does not support using the current path (one without a /).

So, to bring this issue to a close, you are requesting that the default APPIMAGEPATH be removed from the arrow paths in the nav skin object? 

Also, there is an easy workaround (specify an image), correct?

 

 


 
New Post
11/21/2006 12:14 PM
 

This works for both:

<dnn:NAV runat="server" id="dnnNAV" ControlOrientation="Vertical" ProviderName="XXXXMenuNavigationProvider" IndicateChildImageSub = "breadcrumb.gif"/>

This works just for DNN:

<dnn:NAV runat="server" id="dnnNAV" ControlOrientation="Vertical" ProviderName="DNNMenuNavigationProvider" />

and

<dnn:NAV runat="server" id="dnnNAV" ControlOrientation="Vertical" ProviderName="DNNMenuNavigationProvider" IndicateChildImageSub = "[APPIMAGEPATH]breadcrumb.gif"/>

The case above for images in the  standard folder images.

If I decide to have a image in my homedirectory [HOMEDIRECTORY] and [SKINPATH] just DNN works.    Solpart refers to /images//Portals/5/Skins/Skin/kopp.gif 

If you dont write Providername exact upper and lover case nothing works.

The best was if both DNN and Solpart used the same syntax. Why not in nav.ascx.vb set the right path depending on provider. If not this is posible there have to be som documentation that clarifies.

I just started to look throug Navigation provider to prepare to convert to NAV skinobject and to have an ide how I could utilise the options. I found this little confusing so I started this tread. I love the design to have one skinobject able to change provider. That make it possible just switch the xml file and you have an other menu.

Thanks for your time

Jan

 

 

 
New Post
11/21/2006 12:35 PM
 

If I decide to have a image in my homedirectory [HOMEDIRECTORY] and [SKINPATH] just DNN works.    Solpart refers to /images//Portals/5/Skins/Skin/kopp.gif 

...

The best was if both DNN and Solpart used the same syntax. Why not in nav.ascx.vb set the right path depending on provider.

I already mentioned earlier in the thread.

The solpartmenu carries some baggage due to backwards compatibility.  One of those things is that it gets its arrow images from the systemimagepath.

They do use the same syntax, meaning they all use the same properties.   As far as how they use these properties, they are similar but not exactly the same.  It seems that you would be in favor of either breaking backwards compatibility for solpart (not having arrows in systemimagepath) or restrict the DNNMenu to have this same limitation...  The whole effort towards the new objects was meant to clean things up as much as possible, this dictates that some functionality will be different with the new objects.

Also, this blog covers some reasons why different providers will have different outcomes.

It has never been a guarantee that switching out a different provider will result in the same look and feel.  Hopefully this is obvious for cases where you swap out the SolpartMenu for something like the DNNTree.  For the swapping of the SolpartMenu with the ASP2Menu (or DNNMenu) it may not be as obvious, since they are of the same control type.  Each control may handle their styles differently.  An obvious example of this is the quirky way Solpart handles borders around menu items.  Skins like the default DNN Blue that are included in DNN have classes defined to handle this border issue.  If you were to substitute the ASP2Menu by ProviderName="ASP2MenuNavigationProvider" everything will work, however, you will see that the menu has some quirky border issues, which can be fixed by removing the border entries for the css of the skin.


 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...NAV Menu bug ??NAV Menu bug ??


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out