Book Image

Plone 3 Theming

Book Image

Plone 3 Theming

Overview of this book

Themes are among the most powerful features that can be used to customize a web site, especially in Plone. Using custom themes can help you brand your site for a particular corporate image; it ensures standards compliance and creates easily navigable layouts. But most Plone users still continue to use default themes as developing and deploying themes that are flexible and easily maintainable is not always straightforward. This book teaches best practices of Plone theme development, focusing on Plone 3. It provides you with all the information useful for creating a robust and flexible Plone theme. It also provides a sneak peek into the future of Plone's theming system. In this book you will learn how to create flexible, powerful, and professional Plone themes. It is a step-by-step tutorial on how to work with Plone themes. It also provides a more holistic look at how a real-world theme is constructed. We look at the tools required for theming a web site. The book covers major topics such as configuring the development environment, creating a basic theme product, add-on tools and skinning tricks, integrating multimedia with Plone, and configuring your site's look and feel through the Zope Management Interface (ZMI). Finally, the book takes a close look at the thrilling and greatly simplified future of theming Plone sites.
Table of Contents (20 chapters)
Plone 3 Theming
Credits
About the Author
About the Reviewers
Preface

Skin layer customization, the old-fashioned way


In addition to being able to alter many of the basic settings on a site via portal_actions, users can also modify certain page templates, images, stylesheets, JavaScripts, and so on through the ZMI. How Plone interprets these changes depends on the order of what are called "skin layers".

Prior to Plone 3, most customizations performed in the ZMI relied on the concept of a single, global namespace such that resources for a given product could not easily be shared between products. The global namespace was also a problem because it resulted in name conflicts in products. Authors were forced to use convoluted names in their products, such as pfg_base_edit, which was very "un-Pythonic". This was a fairly limiting idea but made modifying items fast and easy through the web.

Before Plone 3, Plone used Zope's concept of acquisition (and still does, but not always). This means that when looking up an identifier, Plone finds the closest object, property...