← Back to team overview

launchpad-dev team mailing list archive

Re: Headings and page titles

 

On Sep 1, 2009, at 3:00 PM, Barry Warsaw wrote:

I'm working on bug 417089 to fix this and when I know enough I will update the page with the specific coding guidelines you'll need to follow. For now, just do the best you can, but don't add extra cruft to your pages to try to fix them, because that cruft will likely have to be removed once 417089 lands.

This branch has now landed.  Please see the rules here:

https://dev.launchpad.net/VersionThreeDotO/UI/Conversion#Heading%20rules

for what you need to change in your templates and views. For the link averse:

* You will almost never need to add an H1 to your heading slot. In fact, you should never need to fill your heading slot. If you do, let [[mailto:barry@xxxxxxxxxxxxx|me]] know! * If your page is the index page for your content object, have your view class implement the marker interface `lp.app.interfaces.headings.IMajorHeadingView`. This will put the root context title in an H1 above the app tabs. Do ''not'' implement a `label` attribute in your view since that will add an app-colored H1 tag below the tabs, which you don't want. * If your page is not the index page for your root context object, do nothing special. This will put the root context title in an H2 above the app tabs. * If your page is an index page and you want to allow for editing of the context title, have your view class implement `lp.app.interfaces.IEditContextTitle` instead of `IMajorHeadingView`. You will need to implement the `title_edit_widget` method, probably from the appropriate lazr-js widget, which will return the entire HTML (including the H1 wrapping) when called. * Implement a `label` property in your view class for the H1 below the app tabs in `LaunchpadView` subclasses. This same property will be used as the form header in `LaunchpadFormView` subclasses. * If for some reason you do not want to use the default reversed- breadcrumbs in your <title>, implement the `page_title` attribute in your view, and set the view class attribute `override_title_breadcrumbs` to `True`. Generally, you will ''not'' want to do this, so that the default reverse-breadcrumbs are used. You should take the time to convert any `pagetitle.py` entries for your view to using a `page_title` attribute. * If your page template uses `CONTEXTS/fmt:pagetitle`, get rid of this. Use the `base-layout.pt` and it will handle your page title for you.

Ping me on irc if any of the above rules are confusing or wrong.

-Barry

Attachment: PGP.sig
Description: This is a digitally signed message part


Follow ups

References