Current

This document is valid for the current version of Plone.

Skins

by Plone Documentation Team last modified Jan 07, 2010 01:07 PM
Contributors: Mikko Ohtamma, Martin Aspeli, Kamon Ayeva, Israel Saeta Pérez
Information about the import and export of skin paths

For some background about skin layers, read the Skin Layers section of the Theming Manual.

Let's take the skins.xml file of plonetheme.sunburst skins.xml as example:

<?xml version="1.0"?>
<object name="portal_skins" default_skin="Sunburst Theme">

 <object name="sunburst_images"
    meta_type="Filesystem Directory View"
    directory="plonetheme.sunburst:skins/sunburst_images"/>
 <object name="sunburst_templates"
    meta_type="Filesystem Directory View"
    directory="plonetheme.sunburst:skins/sunburst_templates"/>
 <object name="sunburst_styles"
    meta_type="Filesystem Directory View"
    directory="plonetheme.sunburst:skins/sunburst_styles"/>
 <object name="sunburst_js"
    meta_type="Filesystem Directory View"
    directory="plonetheme.sunburst:skins/sunburst_js"/>    

 <skin-path name="Sunburst Theme" based-on="Plone Default">
  <layer name="sunburst_images"
     insert-after="custom"/>
  <layer name="sunburst_templates"
     insert-after="sunburst_images"/>
  <layer name="sunburst_styles"
     insert-after="sunburst_templates"/>
  <layer name="sunburst_js"
     insert-after="sunburst_styles"/>     
 </skin-path>

</object>

Here, the line

<object name="portal_skins" default_skin="Sunburst Theme">

indicates we're dealing with the portal_skins object and sets Sunburst Theme as the default active theme. The later has the same effect of selecting Sunburst Theme in the Themes control panel dialog or in the portal_skins properties in the ZMI.

The <object /> nodes define a new Filesystem Directory View (FSDV):

name
The name of the skin layer as shown in the contents of portal_skins in the ZMI. It usually matches the name of the directory in the filesystem, but doesn't neccessarily have to.
meta_type
Will always be Filesystem Directory View in this context.
directory
 The path to the directory in the filesystem in the format
[yournamespace].[your theme name]:skins/[Your Skin Directory Name]

 

Then, we insert the the previously defined skin layers in a theme. First, we specify we're dealing with the skin named Sunburst Theme, which will inherit the list and order of skins layers from Plone Default:

 <skin-path name="Sunburst Theme" based-on="Plone Default">

Next, we insert each skin layer in the appropiate place.

  <layer name="sunburst_images" insert-after="custom"/>

You can use the insert-after and insert-before attributes with the name of an already present skin layer to control the placement. If you want to insert a layer at the top of the stack, use

  <layer name="layer_name" insert-before="*"/>

If you don't specify any insert-after nor insert-before attributes, the specified layer will be inserted at the bottom of the stack.