Skip to main content

Manage Plone skins CSS, logo, and base colors dynamically from the Plone control panel

Project description

This product provides a control panel to be used by subskins, a Plone product that
provides many css and color schemes to customize the site layout.
Together, the two allow quick and easy customization of the Plone skin.
If you want this functionality, you should install medealog.subskins.
It will pull this product as a dependency.
If you want to write a product similar to subskins read ahead.

PloneSubSkins allows to switch to specific CSS files handling such or such aspects of your Plone skin.

By default, this hacked version of PloneSubSkins manage the following categories:
- Base
- Top
- Navigation
- Text
- Global navigation
- Portlets
- Bottom
- Extra (multiple choices)

Another category is dedicated to manage your different base_properties files, named MySkin_colorschemes.

To use PloneSubSkin you just need to respect the following naming convention:
1 - if your skin product is named MySkin, the navigation-related CSS must be stored in a sub-folder named MySkin_navigation,
text related CCS must be in MySkin_text, etc.

It will produce the following directory structure:
/Products
/MySkin
/skins
/MySkin
main_template.pt
some.gif
other.pt
/MySkin_colorschemes
bluetheme_base_properties.prop
yellowtheme_base_properties.prop
/MySkin_navigation
navYellow.css
navYellow2.css
/MySkin_text
small.css
normal.css
all_arial.css
/MySkin_globalnav
globalnav.css
globalnavOld.css
/MySkin_calendar
cal1.css
cal2.css
etc.

2 - In your css files, add the following line:
<dtml-with get_base_properties mapping>
before the existing line:
<dtml-with base_properties> (do not remove this)
and add the line
/* </dtml-with> */
at the end of the file

3 - Depend on this product in your metadata.xml
4 - Put a file named subskins_choices.xml in your profile directory

You can modify those categories or add your own ones by editing /Products/PloneSubSkins/AppConfig.py



Changelog
=========

4.6
-----
Added keyboard shortcuts to be used while at the subskins control panel.
The following keys works:
12345670c
qwertyupb

4.5.1
______
Changed the get_base_properties script (thanks moo-_-) just comment out the lines for getting base properties for context. Take a look at product medialog.foldersubskins to understand how this works.

4.5
___

Added (hidden) possibility to select colours based on where you are.
This option is for testing out different looks on the same site.
You will have to customize get_base_properteies, like this:
return context.restrictedTraverse('@@subskins_get_folder_base_properties')()


4.4
___

Added option to click on colorschmes instead of selecting them.

4.3.1
___
Added "click on colorschme". Thanks for advice from Mike Rhodes on the jquery part.
Added brosho plugin.
Added extra field for css

4.1
___
Switched to using select boxes (instead of multiselect) for the "extra" selections so its easier to see what is selected.

4.0
---

* Plone 4.0 compatible
* Added multiselect extra category
* Use titles to list css in the form

3.2
---

* Live preview of selected css without page reload.

3.1
----------------

* 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

Products.PloneSubSkins-4.5.2dev-r242219.tar.gz (43.1 kB view details)

Uploaded Source

File details

Details for the file Products.PloneSubSkins-4.5.2dev-r242219.tar.gz.

File metadata

File hashes

Hashes for Products.PloneSubSkins-4.5.2dev-r242219.tar.gz
Algorithm Hash digest
SHA256 5593507ba55aac1dfe32f9d1f6472c58c6f1118ebcbd58cf84db64fbf0a98b17
MD5 c088a78974ca4f82d17e28457e5ffdb4
BLAKE2b-256 1d78ca19e54bed6bc3fc1afd11f826b98ace0ada0d1c40ca1be2084c1cd8f7da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page