collapse
expand

An inside look at web development.

Solution to DNN 6 Overlap Issue

By Aris Labros
May 10, 2012
Share this
Email to a friend Email to a friend

With the introduction of DotNetNuke 6 came a rather annoying facelift (just a personal opinion) and a new default CSS stylesheet. This new stylesheet applies a position:relative; to the class .DnnModule, which applies to all of the modules installed on any given page. This allows for the "Manage" button to float on top of the modules. However, applying the attribute position:relative; on .DnnModule will most likely interfere with some of your custom extravagant styling. God forbid you try to use position:absolute; on any element that would overlap another module. Tisk tisk... You should have known better. Sometimes you get lucky and get away with it in modern browsers but most of the time you don't, especially when you support browsers like IE7. If you dare remove, edit or override it, all the "Manage" buttons will stack on top of each other in the top left corner of your screen rendering the CMS useless.

A great example is our Website!

Before the fix

After the fix

Some of you might have already encountered this issue, or some of you are still pulling your hair trying to figure out why things aren't displaying properly.

The Concept

The code will check whether the user that is logged on is an Admin or Superuser. If not, it will override the default position attribute of .DnnModule allowing everything to display properly. If yes, it will NOT override, allowing for the "Manage" buttons to be positioned properly. Things might not be pretty for the Admins, but at least they can use the CMS tools.

The Code

In order for this to work, you will need to copy/paste this code at the top of each of your skin files (ex. homepage.ascx) located in your /Skins folder.

<%
If Not DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().IsSuperUser And Not DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().IsInRole("Administrators") Then
Response.Write("")
End If %>

Conclusion

Good luck! Let me know if this works for you, or if you have anything to add, in the comments below.

Comments (1)

Absolutely a best work around
Thanks for sharing. This is an absolutely a best work around.
9/14/2012 11:22 AM
Michael
Learn More
Customizations to DotNetNuke website development tools.
Blog
Save or Obtain objects to the clipboard
Blog
How to test your DotNetNuke module so that it will work as expected across a variety of DNN installations.
Blog

Connect with us!

Search this Blog
Enter Keywords
Copyright 2012 BlueBolt, LLC