Plone 3 Theming


Plone 3 Theming
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
$17.99
save 25%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
$39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Best practices for creating a flexible and powerful Plone themes
  • Build new templates and refactor existing ones by using Plone's templating system, Zope Page Templates (ZPT) system, Template Attribute Language (TAL) tricks and tips for skinning your Plone site
  • Create a fully functional theme to ensure proper understanding of all the concepts
  • A step-by- step approach to ensure proper understanding of all the concepts

Book Details

Language : English
Paperback : 324 pages [ 235mm x 191mm ]
Release Date : July 2009
ISBN : 1847193870
ISBN 13 : 9781847193872
Author(s) : Veda Williams
Topics and Technologies : All Books, CMS and eCommerce, Content Management (CMS), Open Source, Plone, Python

Back to BOOK PAGE

Table of Contents

Preface
Chapter 1: Theming Plone 3: An Overview
Chapter 2: Skinner's Toolkit
Chapter 3: Setting up your Development Environment
Chapter 4: Create and Install a Theme Product
Chapter 5: Making Manual (TTW) Changes or What Not to Do
Chapter 6: Working with Zope 3 Components
Chapter 7: Customizing Viewlets and Portlets
Chapter 8: Understanding Zope Page Templates and the Template Attribute Language
Chapter 9: Creating, Installing, and Tweaking our Theme
Chapter 10: General Styling and Templating Changes
Chapter 11: Custom Page Views and Sectional Styling
Chapter 12: Add-on Tools and Theming Tips
Chapter 13: Plone and Multimedia
Chapter 14: Deploying and Contributing Themes
Chapter 15: The Future of Theming for Plone
Index
  • Chapter 2: Skinner's Toolkit
    • Graphic design tools
      • Adobe Photoshop
      • Adobe Fireworks
      • GIMP
    • Browser add-ons and important notes
      • Internet Explorer
      • Firefox
        • Firefox Web Developer extension
        • Firebug extension
        • YSlow
        • Colorzilla
      • Safari tools
        • Safari Web Inspector
    • Validation tools
    • Text editors
      • TextMate
      • CSS Edit
      • E Text Editor
      • Notepad
      • WordPad
      • Dreamweaver
    • Summary
  • Chapter 3: Setting up your Development Environment
    • Buildout and you
    • Understanding the terminology
    • Setting up your development environment
      • Subversion for version control
      • Download Plone
        • Macintosh dependencies for the Unified Installer
        • Windows dependencies for the Unified Installer
        • Operating system agnostic dependencies
      • Buildout: The Plone filestructure
    • Summary
  • Chapter 4: Create and Install a Theme Product
    • Generating your theme product using paster
      • Available templates
      • Generating your product
      • Filestructure of a plone3_theme product
    • Adding your theme product to your buildout
    • Starting Zope and installing your product on a Plone site
      • Creating a Plone site
      • Installing your Plone theme
      • Putting your site into debug mode
    • Summary
  • Chapter 5: Making Manual (TTW) Changes or What Not to Do
    • Prerequisites
    • What this chapter will not cover
    • Registering and installing a new theme
      • Register the filesystem directory view
      • Make the directory view available to portal_skins
      • Install your theme product
      • General guidelines during development
    • About a theme product's architecture
    • Changing your site via CMF action categories
      • Document actions category
      • Site actions category
      • Folder buttons category
      • Object category
      • Object buttons category
      • Portal tabs category
      • User category
    • About GenericSetup
      • Base profile
      • Extension profiles
      • An example extension profile
      • Taking snapshots
      • Export profile
      • Import profile
    • Moving portal_actions configurations into a filesystem product
    • Skin layer customization, the old-fashioned way
      • Using the portal_skins tool
      • Changing base_properties
    • Modifying images using the custom folder
    • Extracting items from the custom folder
    • Using stylesheets and the CSS resource registry tool
      • Common conventions for using stylesheets in Plone
        • Overriding base Plone stylesheets
        • DTML support
        • Location of files and controlling bloat
      • Adding new stylesheets
        • Starting with CSS in the ZMI
        • Creating a theme-specific stylesheet in your filesystem product
    • Working with JavaScripts in your theme product
    • Summary
  • Chapter 6: Working with Zope 3 Components
    • About the architecture
      • Introduction to ZCML
      • Zope 3 browser layers and resources
      • Using images as browser resources
      • Using stylesheets as browser resources
      • Browser pages
        • Create a Python class for our browser page
      • Add the interface for our browser page
        • Registering our browser page
        • Create a page template for our view
        • Write the GenericSetup steps to create the new CMF action category
        • Register the viewlet in your theme product
        • Enable the browser page
    • Summary
  • Chapter 7: Customizing Viewlets and Portlets
    • Viewlets
      • Class-based versus template-based viewlets
      • Registering viewlets in a viewlet manager
      • Reordering viewlets within a viewlet manager
        • Showing, hiding, and unhiding viewlets within a viewlet manager
        • Overriding a viewlet template
        • Overriding a non-template-based viewlet
    • Portlets
      • Modifying Plone 3 portlets in a theme product
      • Creating a new Zope 3 portlet
        • Add the interface for our browser page
        • Create a page template for our view
        • Write the GenericSetup steps to create the new portlet
        • Write the GenericSetup to create a new CMFAction category and actions
        • Register the portlet in your theme product
        • Enable the portlet
      • Using Classic portlets in a theme product
    • Using portal_view_customizations
    • Summary
  • Chapter 8: Understanding Zope Page Templates and the Template Attribute Language
    • About ZPT
      • What does TAL look like in practice?
    • About the Template Attribute Language
      • tal:attributes statement
        • Multiple attributes
      • tal:define statement
        • How this works in Plone
      • tal:condition statement
        • How this works in Plone
      • tal:content statement
        • How this works in Plone
      • tal:repeat statement
        • How this works in Plone
      • tal:replace Statement
        • How this works in Plone
      • tal:omit-tag statement
        • How this works in Plone
      • tal:on-error statement
        • How this works in Plone
      • TAL "structure" expression syntax
        • How this works in Plone
    • Order of operations
    • Built-in names in TALES
    • Summary
  • Chapter 9: Creating, Installing, and Tweaking our Theme
    • About the theme
    • Creating a theme product
    • Altering the theme product's structure
      • Renaming the theme
      • Shortening folder names
      • Adjusting how stylesheets and images are used
    • Installing the theme product
    • Adjusting web site content to support the design
    • Summary
  • Chapter 10: General Styling and Templating Changes
    • Modifying the various sections of the page
      • Basic styling
      • Changing the logo
      • Adding a banner image
      • Customizing the portal actions
      • Adjusting the searchbox display
      • Moving the searchbox
      • Adjusting the personal bar
      • Suppressing the top navigation
      • Moving and styling the breadcrumbs
      • Base portlet styling
      • Adjusting the footer and the colophon
      • Altering the navigation
    • Summary
  • Chapter 11: Custom Page Views and Sectional Styling
    • Changing the default home page display
      • Using CSS styles and the visual editor
      • Using a basic page template for a home page view
      • Using Python code to render a home page view
    • Sectional styling
    • Applying Internet Explorer fixes
    • Summary
  • Chapter 12: Add-on Tools and Theming Tips
    • Popular add-on Plone products
      • Enabling drop downs using webcouturier.dropdownmenu
      • Collage
      • Tableless styling using Plone Tableless
      • CSSManager
      • Products.EasyAsPiIE
      • collective.skinny
      • FS Dump
      • qPloneSkinDump
      • Collection and static portlets
    • Sectional theming
      • themetweaker.themeswitcher
    • Non-Plone-specific products for theming
      • sIFR
      • Rules-based theming
    • Debugging tools and tips
      • GloWorm
      • About tracebacks and Pdb (the Python debugger)
      • Running more than one operating system at a time
    • Summary
  • Chapter 13: Plone and Multimedia
    • Flash integration
      • Embedding Flash and other media in a page
      • Embedding Flash in a page template
    • Plone add-ons for multimedia
      • collective.flowplayer
      • Slideshow Folder
      • Plone4Artists Video
    • Other products to watch out for
      • Plone4ArtistsAudio
      • Plumi
    • Summary
  • Chapter 15: The Future of Theming for Plone
    • Why a new approach?
    • About the future of theming in Plone
    • Is XDV ready for serious deployments?
      • Background and history
      • Choosing the appropriate theming approach
        • Which one should I use?
      • Tools and prerequisites
      • Adding XDV to your Plone instance
        • Platform notes
        • Adding collective.xdv
        • Running buildout
      • Activating XDV
        • Adding the HTML and rule files
        • Enabling the theme transform
        • Testing that everything works
      • How it works
      • The rule file
      • Rules Overview
        • <replace>
        • <append> and <prepend>
        • <copy>
        • <drop>
    • Summary

Veda Williams

Veda Williams has worked in software development for 18 years, which includes her three-year stint as a Plone skinner. She currently works for ONE/Northwest in Seattle, Washington. Veda is an editor for the documentation section of plone.org, and in addition to this book, she is writing a book on theming for Plone, due for publication in Spring 2009.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 16 submitted: last submission 10 Sep 2012

Errata type: Technical | Page number: 39

This is purely an addition that the author wants to incorporate: "TextMate can be purchased for 39 Euros, or $57 USD."

 

Errata type: Technical | Page number: 55

This is purely an addition that the author wants to incorporate: "The Macintosh equivalent of TortoiseSVN is SCPlugin, and can be found at http://scplugin.tigris.org."

 

Errata type: Code | Page number: 64

$ paster create -t plone3_theme
should read
$ paster create -t plone3_theme plonetheme.mytheme

 

Errata type:Code | Page number: 64

Enter project name: My Theme
should read
Enter project name: plonetheme.mytheme

 

Errata type: Technical | Page number: 72

The paragraph that reads "In order to set portal_css....http://localhost:8080/ mysite/portal/css/manage_cssForm." should be "In order to put portal_css in debug mode, go to the portal_css tool in the ZMI by drilling down or by pointing your browser to an address that should look like http://localhost:8080/mysite/portal_css/manage_cssForm."

 

Errata type: Technical| Page number: 80

Under "Install your theme product", where it mentions editing the mytheme.css file found in the skins/plonetheme_mytheme_styles file, you actually want to modify the main.css file located in the browser/ folder of your theme product instead. Make sure you have your site's portal_css in debug mode (outlined in the next section)

 

Errata type: Other | Page number: 80

"http://localhost;8080/mysite" should be "http://localhost:8080/mysite"

 

Errata type: Technical | Page number: 80

“mynewtheme” should be changed to “mytheme”

 

Errata type: Technical | Page number: 80

Install Your Theme Product: Where it says to modify mytheme.css in skins/plonetheme_mynewtheme_styles, you should actually be modifying main.css in the browser/ folder.

 

Errata type: Other | Page number: 81

"Uninstallation requires that a theme to have an uninstall profile written for it." Should be "Uninstallation requires a theme to have an uninstall profile written for it."

 

Errata type: Technical | Page number: 94

At the end of the paragraph that reads "However, to minimize the risk.....into your web site.", there should be a sentence "You can import this step by clicking on the Import tab and by choosing your theme product's profile from the drop-down list at the top of the page.

 

Errata type: Technical | Page number: 99

“The actual name of the base proptery sheet on the filesystem is base_properties.props, and it can be found in parts/plone/CMFPlone/skins/plone_styles.” In this sentence, the path should be src/plonetheme.mytheme/plonetheme/mytheme/skins/plonetheme_mytheme_styles

 

Errata type: Other | Page number: 104

Below the heading "Overriding base Plone stylesheets", the paragraph "When a new Plone theme product...if desired." is duplicated - this paragraph appears just above the heading as well.

 

Errata type: Technical | Page number: 107

"parts/plone/CMFPlone/skins/plone_styles/" should be "buildout-cache/eggs/Plone [some version number]/Products/CMFPlone/skins/plone_styles"

 

Errata type: Technical | Page number: 108

"skins/plonetheme_mytheme_custom_styles" should be "skins/plonetheme_mytheme_styles"

 

Errata type: Technical| Page number: 108

"Next,...the following code:" should read "Next, open your cssregistry.xml file, located at profiles/default/cssregistry.xml."

 

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Plone 3 Theming +    3ds Max Speed Modeling for 3D Artists =
50% Off
the second eBook
Price for both: $34.95

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Create attractive themes using Plone 3 programming concepts
  • Customize your Plone theme and get a new look and feel for your web site
  • Set up a productive development environment for building a quality theme product
  • Use graphic design, Subversion, and other helpful tools that make theming easier and more efficient
  • Use Zope 3 components for building powerful Plone themes
  • Create an actual theme product using the Plone 3 theming concepts
  • Embed multimedia in a Plone template to make your theme more attractive and useful
  • Deploy and test your theme by following best practices

Chapter 1: Skinning for Plone: Overview – In this chapter, we take a look at how theming has become even more complex with the newest release of Plone. We will also compare Drupal with Plone.

Chapter 2: Skinner's toolkit – In this chapter, we take a look at the tools that are needed for theming. We also take a look at the browser add-ons that are available for debugging our web site's CSS, JavaScript, color palate, and more.

Chapter 3: Getting started – In this chapter we will configure the development environment and learn how Python and ZCML fit into the scenario. We will also learn the jargon associated with Plone 3.0 development.

Chapter 4: Making manual (TTW) changes and how to extract them into a file system – In this chapter, we will learn how to expose a theme product to a file system and install it. We take a look at the elements that comprise the component architecture for a theme product. We will also learn how the skin layers work.

Chapter 5: Working with Zope 3 components – This chapter focuses on the Zope 3 components that are involved in file system theme development. We take a look at the interfaces and adapters. We will learn how to use ZCML code to tie together the Zope 3 components. We will also learn how to use images, style sheets, and browser resources and how to write browser views.

Chapter 6: Customizing Viewlets and Portlets – This chapter focuses on Viewlets, viewlets manager and @@ manage-viewlets. We take a look at Portlets and will learn portlet customization techniques.

Chapter 7: Understanding Zope Page Templates and the Template Attribute Language – In this chapter, we will learn what a Zope Page Templates system is. We also take a look at Template Attribute Language (TAL) and will learn common TAL expressions.

Chapter 8: Building a new theme: A real-world example – In this chapter we will use the concepts that we have learned to build an actual theme product.

Chapter 9: Add-on tools and skinning tricks – In this chapter we take a look at the popular add-ons, the current state of sub-site theming and possible options, and the non-plone products that can be used to alter the site's look and feel.

Chapter 10: Plone and multimedia – In this chapter we will learn how to embed multimedia into the content of a page and into a page template. We also take a look at Plone-specified add-ons that provide multimedia support.

Chapter 11: Deploying and contributing themes – In this chapter we take a look at the suggested development environments, theme deployment workflow, the quality assurance process, where to look for potential problems, and how to contribute to the plone theming community by creating publically available themes.

In Detail

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.

A clear, step-by-step guide to create customized Plone web sites

Approach

This book provides a holistic look at theming Plone sites as well as step-by-step instructions on how to create Plone themes. The book first briefly introduces the concepts and necessary tools and then moves on to describing the concepts needed for customizing templates in Plone. It also provides handy tips and tricks along the way to simplify the theming process.

Who this book is for

This book is targeted at professional web designers working with Plone who want to create their own unique look and feel for a Plone web site.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software