[Grok-dev] Re: Getting the application in views and viewlets
faassen at startifact.com
Thu Jun 19 11:56:48 EDT 2008
Graham Stratton wrote:
> My suggestion wasn't as much about viewlets as about making the
> application object available in templates. It's currently quite tricky
> to get the application anywhere, and I'm still not sure what's
> considered the correct way to do it, whether by utility lookup or
> traversing __parent__ until we find the Application.
I think we might want to implement grok.getApplication().
What the right implementation should be I'm not sure about. You could do
it by traversing __parent__ until you find the Application.
You could also do it by looking up getSite, checking whether it's the
application, and then if not walk up the __parent__ chain from the site.
This would be slightly faster in many common cases.
Alternatively you could register the application as a local utility in
the application itself upon creation. This would allow the local utility
lookup machinery to do everything for you. The drawback is that it'd
need a content upgrade for existing applications to become equipped with
this existing application.
Graham, patches are welcome. I think the getSite() approach might be the
best approach right now.
More information about the Grok-dev