Luca Dall'Olio wrote at 2006-3-9 11:47 +0100: >I have a simple dtml-method "assignment-action" that is called upon a >form post. >Depending on the form request data, a <dtml-if> chooses between one of >two dtml-documents : "assigment-success" and "assignment-failure" : > ><dtml-if "iscorrect()"> > <dtml-var assignment-success> ><dtml-else> > <dtml-var assignment-failure> ></dtml-if> > >My trouble is that neither the "assignment-success" nor the >"assignment-failure" dtml-documents seem to be pushed on the namespace : >inside them title_or_id references data from their caller
That is strange. In fact, a "DTMLDocument" (unlike a "DTMLMethod"!) extends the passed in client by "self.aq_explicit". Note, that due to the use of "aq_explicit", acquisition through your "DTMLDocument" is restricted. > this() and >PARENTS do not evaluate right... "PARENTS" is set after the traversal phase. Lateron, it is not changed -- e.g. not changed by calls of DMTL objects. >is there a smarter way to call a >dtml-document inside a dtml-method (), so that it it pushed on the >namespace stack? It should be pushed automatically (as long as it is really a "DTMLDocument". Of course, you can control the context yourself, e.g. by <dtml-var "doc(doc,_)"> In this case, you pass "doc" (assumed to be your DTML document) explicitly as client. -- Dieter _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )