I’m not sure if this is strictly a Plone 4 thing, but it’s a jQuery thing, so probably…
Tabbed interfaces are a nice way to present a lot of content to a user in manageable chunks. I’ve written tabbed interfaces in the past from “scratch”, and while a ton of fun, that approach is not really practical these days, what with the jQuery and such. And with Plone, its even less useful, since, well, Plone already does it.
You may have seen this before:
Plone provides a nice tabbed interface for AT schema “schemata”, which you’d think would be a pretty specific use case. Luckily, the code behind it was written to be generic, and is super easy-ish to use.
A little firebug inspection pointed me to form_tabbing.js, which is located in Products.CMFPlone (aka the main Plone egg). It has a little bit of help text at the top explaining its use:
* This is the code for the tabbed forms. It assumes the following markup:
* <form class="enableFormTabbing">
* <fieldset id="fieldset-[unique-id]">
* <legend id="fieldsetlegend-[same-id-as-above]">Title</legend>
* or the following
* <dl class="enableFormTabbing">
* <dt id="fieldsetlegend-[unique-id]">Title</dt>
* <dd id="fieldset-[same-id-as-above]">
I’ve just used this (the DL style) and it works great. Whoo-hoo!