Validating dotCMS Pages
Aug 31, 2009Validating dotCMS driven sites:
- Validate a page for each of your templates (without content). This will ensure all common errors are fixed across the site.
- Validate dynamic pages. The most frequent error we encounter is related to the & (ampersand) character since it's used to pass parameters through the URL and specify parameters for the resize_image and thumbnail methods; to fix the error, simply replace the & for the corresponding entity
&
. - Validate static pages. At this point, since you have isolated all other issues, you can assume any other error is content related.
A few things to keep in mind:
Navigation: When using the \#navigation()
macro, depending on how your top and left side navigation are declared, you may find repeated ids. For instance, if a folder called "Academics" is printed on both top and left navigation, the id "academics" will appear twice on the page, to avoid this, use the menu prefix parameter:
\#set($menuIdPrefix = "top")
or \#set($menuIdPrefix = "left")
CSS: If validating your CSS, browser specific hacks won't work. An alternative is to use the css-browser-selector.js which inserts a class in the body tag and allows you to specify browser specific rules. Eg. .ie6 p{}
or .gecko p{}
Macros: In cases where a macro prints the &
character there are two solutions:
- Check macro documentation and source code and see if there is a way to specify a custom vtl file. Eg: Photo Gallery code can be overwritten:
\#set($photoGallerySourceCode = '/application/velocity/photo_gallery.vtl')
- If there is no custom vtl file, a backend developer may need to change the macro
Useful Links:
HMTL Validator
CSS Validator
CSS Browser Selector
DotCMS: Thumbnail Images
Resized Images
DotCMS: Navigation Menu