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
>>
>

Reply via email to