Well, you could maybe create a new type of DTML Method called Clear DTML Method which would in principle look something like this: from zope.somewhere import DTMLMethod class ClearDTMLMethod(DTMLMethod): meta_type = "Clear " + DTMLMethod.meta_type def __before_publishing_traverse__(...): do your stuff # cross your fingers that it will work But this restricts you to DTML Methods. So if you change to Page Templates one day you'll have to recode the url param stuff. On 6/7/06, Andrew Hedges <andrew@clearwired.com> wrote:
Peter,
That definitely looks promising. I've tried a couple of ways, but I can't make it so this applies to all DTML Methods. Any ideas?
-Andrew
On Jun 7, 2006, at 6/7/2006 4:10 PMMDT, Peter Bengtsson wrote:
I much prefer to use __before_publishing_traverse__. Eg.
class MyProduct(Something): def __before_publishing_traverse__(self, object, REQUEST): """ sort things out before publising object """ stack = REQUEST['TraversalRequestNameStack'] if len(stack)==2 and stack[0]=='members' and stack [1].isdigit(): REQUEST.set('member_id', stack[1]) stack.remove(stack[1])
That's my opinion.
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com