Custom Dotnetnuke (DNN) Skin Design

DotNetNuke

After recently receiving an email regarding icons not showing up in my template DNN containers, I thought it best to explain why they aren't included in my current container packs, and the solution for including icons if they are necessary (This is a small piece of HTML that needs to be added to the container .html file in the skin pack).

1. The reason they're not included in my current container packs is so the design of the containers won't break when icons that are too large for the space provided is used. Understandably the main point of templates is to offer the most amount of functionality within the skins, however I felt that this wasn't one of the main pieces of functionality that the containers needed to provide so I didn't include it.

2. The solution for including the icon space in the container skins - As with all the dynamic areas of dotnetnuke skins, this is added during the design process through a DNN skin Token, in this case the [ICON] token within the container skin HTML file.

If you unzip the main container skin files and locate the html for the specific container you are adding the icon to, and open this so you can edit the html. Find the area within the html code where you would like to see the icon, I'd assume this to be somewhere near the [TITLE] token if ...

The search functionality of DNN has recently gone a good upgrade, which has seen it include the ability to search both the local site and the entire web.

Being a skin designer this has posed slight constraints on my previous designs as it requires additional space for two new form controls. This additional space has pushed some of my previous designs to breaking point and I've therefore been on the hunt for a method of turning this functionality off, rather than simply hiding it with css.

Below is the required code, to be placed in you skin XML file, for turning the display of these options off, as default the search will still cover the local site so there's no need to worry about having them not show as long as you don't need the ability for web search.

<Object>
 <Token>[SEARCH]</Token>
  <Settings>
   <Setting>
    <Name>showWeb</Name>
    <Value>False</Value>
   </Setting>
   <Setting>
  ...

A couple of days ago I went to the effort of adding a couple of blog entries, and decided to try and make my site perform a little better, or at least change some settings and see if there were any noticeable improvements.

So ahead I went and looked in the host settings, checking out the options for performance and proceeded to swap them around. After publishing the tweaks I left the site alone so my cache wouldn't pick up the saved version of the site instantly and came back to it every now and then to see how things were speeding up.

Well they didn't really, if anything the site was reacting slightly slower than usual, so I went in and tried to change the settings back. To my dismay, by my changing the Page State Persistence: to Memory I'd created a bug in my site that stopped it from working (at this point I couldn't make any changes as none of them were saving).

After panicking, thinking that all was lost I ended up having to restore the db back to a copy from the day before and it was sorted. All that is except for the additional blog entries which I'll add again shortly. So if you're thinking of making this change please be careful otherwise you may need to make a restore back to an older version.

Rhoek.com's design blog focuses on web design and dotnetnuke skin design.

We've been designing and developing websites and custom/template dotnetnuke skins since 2003 and have experience in X/HTML, CSS, javascript, DNN skinning, XML, XSLT, accessibility, usability, email design and building, and Search Engine Optimisation.

Login
08 September 2008