Registering skins in lib/python plone 3.0 productsΒΆ

Tags: plone

I assume this approach only works for plone 3.0 as that runs on a nice recent zope 2.10 release and has a recent enough CMF. At least, that's mostly my experience: you'll need pretty new stuff to get the most out of genericsetup and so.

So: you've made a product and you've done it in lib/python instead of Products. There's got to be a way to register a skin directory without filling your product's __init__.py with lots of registration code. I found the solution in plone.app.openid.

In your configure.zcml, add the cmf namespace and a registerDirectory directive. I'm doing it for the plonehrm.jobperformance (not fully released yet) product:

<configure
  ...
  xmlns:cmf="http://namespaces.zope.org/cmf"
  ...>
  <.....>
  <cmf:registerDirectory name="jobperformance"/>
</configure>

The only remaining thing is to add a skins.xml in your profiles/default directory:

<object name="portal_skins">
 <object name="jobperformance" meta_type="Filesystem Directory View"
    directory="plonehrm.jobperformance:skins/jobperformance"/>
 <skin-path name="*">
  <layer name="jobperformance" insert-after="custom"/>
 </skin-path>
</object>

That ought to do it!

 
vanrees.org logo

About me

My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):