[ZPT] Using PTFiles in Python Products
Dieter Maurer
dieter@handshake.de
Wed, 10 Jul 2002 19:42:07 +0200
Michael R. Bernstein writes:
> ...
> How do I access the macros defined in a PTFile defined on an object from
> a PTFile defined on a child object?
>
> I have an index_html PTFile attribute defined on a container object, and
> another index_html PTFile attribute defined on a subobject. I would like
> to access a macro defined on the parent object's index_html.
>
> The following does not seem to work:
> <p metal:use-macro="here/../index_html/macros/manage_navbar">Navbar goes
> here</p>
> which raises an 'Undefined' error.
You can try to rely on acquisition (this usually works, but may
not work with the ubiquitous "index_html").
Otherwise, you can try to emulate ".." by "aq_parent".
It will work in simple cases (but give the wrong result in more
complex ones).
The "Acquisition" section of
<http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html>
may help you to understand the issues. You will not find "aq_parent"
there. It is the "parent" (or "context") selector of acquisition
wrappers.
Dieter