max, nope! the following code is in a navigation method called from the standard header: <DIV CLASS=navigation VALIGN="top"> <dtml-in "PARENTS[0].objectValues('DTML Document')" sort=menu_sort_order> <dtml-if "hasProperty('menu_sort_order')"> <dtml-if "_['sequence-item']==id"> <a href="&dtml-absolute_url;">[<dtml-var title>]</a> <dtml-else> </dtml-if> <a href="&dtml-absolute_url;"><dtml-var title></a> <dtml-else> </dtml-if> </dtml-in> </DIV> all the reasonable guesses i have made for ==id (id, getId, etc.) result in excessive recursion errors (very long!): Traceback (innermost last): File /opt/zope/lib/python/ZPublisher/Publish.py, line 223, in publish_module File /opt/zope/lib/python/ZPublisher/Publish.py, line 187, in publish File /opt/zope/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File /opt/zope/lib/python/ZPublisher/Publish.py, line 171, in publish File /opt/zope/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: index_html) File /opt/zope/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: index_html) File /opt/zope/lib/python/OFS/DTMLDocument.py, line 189, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: site_nav_l2) File /opt/zope/lib/python/DocumentTemplate/DT_In.py, line 717, in renderwob (Object: PARENTS[0].objectValues('DTML Document')) File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 334, in eval (Object: _['sequence-item']==id) (Info: id) File <string>, line 0, in ? File /opt/zope/lib/python/DocumentTemplate/DT_Util.py, line 161, in careful_getitem File /opt/zope/lib/python/OFS/DTMLDocument.py, line 182, in __call__ (Object: index_html) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: index_html) File /opt/zope/lib/python/OFS/DTMLMethod.py, line 182, in __call__ (Object: standard_mc_header) File /opt/zope/lib/python/DocumentTemplate/DT_String.py, line 538, in __call__ (Object: standard_mc_header) SystemError: Excessive recursion On 1 Jun 2001, at 13:21, Max Møller Rasmussen wrote: From: Max Møller Rasmussen <maxm@normik.dk> To: "'gs@styrax.com'" <gs@styrax.com>, zope@zope.org Subject: RE: [Zope] Equality test: if sequence-item = document id Date sent: Fri, 1 Jun 2001 13:21:56 +0200
From: Garry Steedman [mailto:gs@styrax.com]
<dtml-in "PARENTS[0].objectIds('DTML Document')"> <dtml-if expr="_['sequence-item']=='this().id'"> <li><dtml-var sequence-item> <dtml-else> </dtml-if> </dtml-in>
which of course doesn't work, but i'm not sure why or what i need instead!
wont this work?
<dtml-in "PARENTS[0].objectIds('DTML Document')"> <dtml-if "_['sequence-item']==id"> <li><dtml-var sequence-item> <dtml-else> </dtml-if> </dtml-in>
regard Max M
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
+-------------------------------------------+ Garry Steedman mailto:gs@styrax.com Styrax Associates http://www.styrax.com/ "The Good Man has no shape." +-------------------------------------------+