Cheetah_ is a very good templating language, especially because it's the one (correct me if i'm wrong) to apply the Object-Oriented model to Documents. It can seem a bit weird at the beginning but when you get used to it, you can't live without it :-) So, i was looking for a good way to overload template parts without pain, here is how (couldn't find the trick on Cheetah doc): 1. Assume you have a template ``Package/Page.tmpl`` like that: :: #def footer This is my foot ! #end def 2. Create a ``Page_custom.tmpl`` template: :: #extends Package.Page #def footer $Page.footer($self) Where's my mind ? (dixit the Pixies) #end def 3. You need to put a ``self`` variable in the template's searchList which is the Cheetah template instance itself :-) I don't think that trick will work if you don't compile your templates to Python code. .. _Cheetah: http://cheetahtemplate.org/