Skip to main content

A product for switching themes in Plone.

Project description

themetweaker.themeswitcher Package

Development on this package has stopped. It is recommended that you use another solution instead.


A product for switching themes on folders (ATFolder and ATBTreeFolder) in Plone.

Author: WebLion Group, Penn State University.


  • plone: 3.1+

Using ThemeSwitcher

With quickinstaller installation:

Each folder will have a ThemeSwitcher tab that will bring up the switcher form. Here you will be able to choose from a list of installed themes.

Without quickinstaller installation:

Same as with installation except, you will need to manually type the switcher form path. e.g. http://localhost:8080/plonesite/folder1/switcherform, because the actions tabs have not been installed.


Contact WebLion at, or visit our IRC channel: #weblion on

Bug reports at

To Do List (for developers)

  • TODO (esteel, pumazi) use gloworm to change viewlet ordering on the subfolder basis [requires that each subfolder have a viewletsettingsstorage (via localconf?)]

  • rename to collective.themeswitcher and release into the collective

themetweaker.themeswitcher Installation

To install themetweaker.themeswitcher into the global Python environment (or a workingenv), using a traditional Zope 2 instance, you can do this:

  • When you’re reading this you have probably already run easy_install themetweaker.themeswitcher. Find out how to install setuptools (and EasyInstall) here:

  • Create a file called themetweaker.themeswitcher-configure.zcml in the /path/to/instance/etc/package-includes directory. The file should only contain this:

    <include package="themetweaker.themeswitcher" />

Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance recipe to manage your project, you can do this:

  • Add themetweaker.themeswitcher to the list of eggs to install, e.g.:

    eggs = themetweaker.themeswitcher
  • Tell the plone.recipe.zope2instance recipe to install a ZCML slug:

    recipe = plone.recipe.zope2instance
    zcml =
  • Re-run buildout, e.g. with:

    $ ./bin/buildout

You can skip the ZCML slug if you are going to explicitly include the package from another package’s configure.zcml file.

Installing ThemeSwitcher in plone through quickinstaller is not all together necessary. At this point it only gives you an actions tab on your folders. Everything else is zcml declared.


1.0 (2010-09-27)

  • Remove sd.common dependency [erico_andrei]

0.9b2 - (2009-07-10)

  • Fix up docs and release again [claytron]

0.9b1 - (2009-07-10)

  • Hooked up uninstall profile [claytron]

  • Major renovation of the traversal machinery that no longer needs to support the browserlayer. Now everything is based on skins. [claytron]

  • Cleaned up the tests to cover more scenarios [claytron]

  • Cleaned up the README to reflect latest changes [claytron]

  • Fixed up buildout so that package tests can be run

    $ cd /path/to/themetweaker.themeswitcher $ python2.4 $ bin/buildout $ bin/test

    This will make running the tests easier [claytron]

0.8.7b2 - Beta Released

  • Moved the release to beta status

  • Touched up the README.txt

  • Added a to the package

0.8.7b1 - Beta Released

  • Added unit tests and doctests

  • Added ‘Large Plone Folder’ support

  • Fixed ticket #1030

  • Restructured the package

  • Refactored the text documents to strictly use reStructuredText.

  • Tidying up a bit. Added an Uninstall profile with actions.xml to remove the themeswitcher tab.

0.8.6a2 - Alpha Released

  • Added an enable/disable checkbox to the switcher form

  • ThemeSwitcher now cleans up after itself (annotations are removed from the object)

  • Traverser adapter now adapts IThemeSwitcher rather than IContentish

0.8.6a1 - Alpha Released

  • ThemeSwitcher first pypi release.

0.8.6 - Unreleased

  • ThemeSwitcher switches by folders rather than URL.

0.8 - Unreleased

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (41.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page