This implementation will not work recursively. You will be able to call {{super name}}, however it will only be able to include blocks that were declared in its immediate parent, it cannot for instance, include a blocknode from a grandparent or older.
Meaning, if you declare {{block title}} in layout.html, and then you have a {{block content}} in body.html and body.html extends layout.html. So when you call index.html which inherits from body.html it will only have access to {{super content}}... you will not be able to {{super title}} because there is no way for I could contain a list of all blocks defined in a given parsing, and use that as a global lookup, however children blocks would always override their parent, and by definition you cant super a block that doesn't exist yet. I think this is the way I will go. Don't mind my thinking out typing :) -- Thadeus On Wed, May 5, 2010 at 10:14 PM, Thadeus Burgess <thade...@thadeusb.com> wrote: > I can't really say, we need some tests to analyze the effects of this. > > I am thinking of a way that might not include any extra overhead at all. > > -- > Thadeus > > > > > > On Wed, May 5, 2010 at 10:02 PM, mdipierro <mdipie...@cs.depaul.edu> wrote: >> Before you go and implement this can you assess if this will affect >> the speed of template processing? >> >> On May 5, 9:57 pm, Thadeus Burgess <thade...@thadeusb.com> wrote: >>> It might be possible for the parent to look into its children, and >>> analyze the child blocks, and if a block in the child contains a >>> {{super <me>}} it can then take its own value and replace it into the >>> {{super me}}. >>> >>> -- >>> Thadeus >>> >>> On Wed, May 5, 2010 at 9:56 PM, Thadeus Burgess <thade...@thadeusb.com> >>> wrote: >>> > Right. >>> >>> > As much as I would like the functionality... This cannot be done as >>> > the system stands. Child templates know nothing of their parent, >>> > therefore they are unable to request anything from the parent >>> > template. >>> >>> > The way that you effectively override a block is by effort of the >>> > parent looking at all its children and going "Hey, you have the same >>> > block I do, so I will use yours". >>> >>> > So the way to do this, is for the child to know about its parent, and >>> > its parents parents, and parents parents parents (etc, depending on >>> > the level of hierarchy.) The issue is, how does this element then >>> > determine which parent it should pull from, assuming the grandparent >>> > defines a block, and the parent overrides the block, what is left is >>> > not what is intended. >>> >>> > -- >>> > Thadeus >>> >>> > On Wed, May 5, 2010 at 8:28 PM, Yarko Tymciurak >>> > <resultsinsoftw...@gmail.com> wrote: >>> >> nyway, I don't know what the right syntax / implementation (exactly) >>> >> of a template "super" function is - I just know it makes sense, and I >>> >> think we should have it (I am certainly investing a lot of effort in >>> >> driving exploration of how it would work, look, and w >> >