[Zope] object ID

Tres Seaver tseaver@palladion.com
Mon, 03 Apr 2000 15:50:35 -0500


Daniel.Weber@SEMATECH.Org asked:
> 
> I have a series of pages that changes the attributes of a dtml-document.
> For manage_changeProperties to work I need the object ID.  Passing in
> <dmtl-var id> doesn't seem to work because I'm not in the same folder.
> 
> Is there any way to get the unique id of an object that I can pass along
> and use with a <dtml-with> tag?

Hmm, I guess maybe I don't get your intent.  Suppose I have a DTML Document,
'has_prop', with a property named 'aProp', currently set to 'XXX'.  Its body
looks like::

 <dtml-var standard_html_header>
 <h2><dtml-var title_or_id></h2>
 <p> This is the <dtml-var id> Document.  
     Property 'aProp' has value <strong><dtml-var aProp></strong>.</p>
 <dtml-var standard_html_footer>

I have a DTML Method (*not* a document, this is important!), named
'change_prop', which looks like this::

 <dtml-var standard_html_header>
 <dtml-call "manage_changeProperties( aProp='YYY' )">
 <dtml-call "RESPONSE.redirect( absolute_url() )">
 <dtml-var standard_html_footer>

If I traverse through the DTML Document and then call the DTML Method, Zope does
the Right Thing (TM):

 URL:  http://localhost:8080/has_prop/change_prop

leaves me showing the body of has_prop, whose property 'aProp' is now 'YYY'.  I
don't have to mess with the id of the document at all.  The key is that
change_prop, a DTML Method, can't have properties: it uses whatever properties
belong to (or are acquired by) its "caller."  In this case, the caller is
has_prop, so has_prop's properties get changed.

Does that help any?

Tres.
-- 
=========================================================
Tres Seaver  tseaver@digicool.com   tseaver@palladion.com