David, Both work, Thanks. The Bruising is settling down now :) Tom => -----Original Message----- => From: David McCuskey [mailto:david.mccuskey@bigfoot.com] => Sent: Wednesday, 6 June 2001 1:58 PM => To: tom@cameron.to; Zope Mailing List => Subject: Re(2): [Zope] The old dmtl namespace question => => => try: => => <dtml-with folder2> => <dtml-var method2> => </dtml-with> => => then you can also do: => <dtml-with folder2> => <dtml-var "method2( _.None, _, other=params )"> => </dtml-with> => => the dtml-with ought to work. you're putting folder2 on the namespace => stack, and all methods contained within the dtml-with will be called on => folder2... which is what you want. => => sorry i didn't catch that before. let me know if this helps. => => => good thing about the pain is that you'll never forget the lesson. :) i've => done this one a lot myself. => => david => => => => On 6/6/01, Tom enlightened me with: => => >David, => >Thanks for the help, but I am still stuck. => >Since I am calling a method in another folder I am a bit stuck. => > => >If I use => >1. <dtml-var folder2.method2> => > I get a KeyError error on folder2.method2 => > So I try => >2. <dtml-var "folder2.method2"> => > But it does not render => > So I try => >3. <dtml-var "folder2.method2()"> => > But it looses the namespace and I get a KeyError on method3 => > So I try => >4. <dtml-var "folder2.method2( _.None, _ )"> => > But it behaves the same as 1. => > So I knock my head on the table and scream! => > => >How do I call a method in another folder and have access to its => namespace? => > => >Tom => > => > => >=> -----Original Message----- => >=> From: David McCuskey [mailto:david.mccuskey@bigfoot.com] => >=> Sent: Wednesday, 6 June 2001 1:17 PM => >=> To: tom@mooball.com; Zope Mailing List => >=> Subject: Re: [Zope] The old dmtl namespace question => >=> => >=> => >=> On 6/6/01, Tom enlightened me with: => >=> => >=> >I am sorry to ask the same question again, but I am still => >=> completely stumped => >=> >after many hours of trying and reading. => >=> > => >=> >I have:- => >=> > => >=> >Folder1 => >=> > - method1 => >=> >Folder2 => >=> > - method2 <- this method calls method3 => >=> > - method3 => >=> > => >=> >When I call an object like this... => >=> >>From method1 => >=> ><dtml-call "REQUEST.set('variable','value')"> <- I want to set some => >=> >variables too => >=> ><dtml-var "folder2.method2"> => >=> > => >=> >The method works perfectly, except that it does not render. => >=> > => >=> >When I call it like this.... => >=> >>From method1 => >=> ><dtml-call "REQUEST.set('variable','value')"> => >=> ><dtml-var "folder2.method2()"> => >=> > => >=> >It seems to have no namespace at all and causes an error => >=> (method2 is calling => >=> >method3 and cant find it.) => >=> > => >=> => >=> => >=> here are different ways to call methods: => >=> 1. <dtml-var method> => >=> 2. <dtml-var "method( _.None, _ )"> => >=> 3. <dtml-var "method()"> => >=> 4. <dtml-var "method"> => >=> => >=> => >=> 1 and 2 are the same: if you don't put quotes or parens, => zope will pass => >=> _.None and _ for you. 99.99999% of the time you want to use these. => >=> => >=> 3 is calling the method, but drops the namespace stuff because the => >=> namespace variables are not explicitly included in the args. the => >=> parameter list is empty. => >=> => >=> 4 is well, number 4. watch out for number 4. like you said, => it calls, but => >=> doesn't render. => >=> => >=> => >=> => >=> => >=> >I have found a few similar posts to the mailing lists and => most responses => >=> >point to.. => >=> >http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html => >=> >which I have read over and over and still dont understand. => >=> > => >=> >It mentions _.None, and _ but I cant work out how they work. => >=> > => >=> >Basically I want method2 to have access to all the methods => in folder2 as => >=> >well as all REQUEST variables. => >=> > => >=> >Can someone please show some examples of how to do this. => >=> => >=> do this: => >=> => >=> <dtml-var "your_method( _.None, _, param='value', param2='value2' )"> => >=> => >=> => >=> my previous reply to "passing parameters to DTML methods" has some => >=> discussions and a pointer in the ZDP which i thought were good. => >=> => >=> check this from dieter: => >=> => >=> <dtml-let param1="value1" => >=> param2="value2" => >=> ....> => >=> <dtml-XXX method> => >=> </dtml-let> => >=> => >=> david => >=> => >=> -- => >=> David McCuskey => >=> david.mccuskey@bigfoot.com => >=> => >=> => => -- => David McCuskey => david.mccuskey@bigfoot.com => =>