Hedley Roos, on 2008-10-05:
> I chose a bad example with portal_url :(
>
> Let's say there is some variable "foo" in the 'outer' template. My
> viewlet has no knowledge of how to compute foo, but it knows it exists
> by my own convention.
>
> The only way for the viewlet to get to foo is by inspecting its scope
> (which I don't know how to do), or by some horrid way such as the
> outer template dropping the value foo onto the request with a
><tal:dummy define="dummy request.set('foo', 'bar')"/>The easiest way is to make foo a property of your browser view. The view is passed into the __init__ of your viewlet, so you can access foo there. There is another possibility with zope.contentprovider.interfaces.ITALNamespaceData. Look around in Products/eXtremeManagement/browser/viewlets/interfaces.py for some examples. But in my experience that approach quickly gets ugly when you intend to refresh that viewlet with KSS. -- Maurits van Rees | http://maurits.vanrees.org/ Work | http://zestsoftware.nl/ "This is your day, don't let them take it away." [Barlow Girl] _______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
