RE: [Zope] Poor Procedural Programmer Needs OOPish Enlightenment
Not sure if this is your problem, but since methods don't have namespaces, I'm not sure why your code could not be reduced to: <dtml-if expr="id != 'edit'"> <dtml-var index.html> <dtml-else> <dtml-var chunk_editFrameset> </dtml-if> The namespace of index_html right now is 'edit' (or another folder that acquires it) ...and... if the namespace of index_html is 'edit' than the namespace of index.html will also be, and ergo, the namespace of chunk_dspPrimaryCol will also be edit (index.html doesn't have a method unto itself), changing your code to: <dtml-if expr="id != 'edit'"> <dtml-var chunk_dspPrimaryColPublic> <dtml-else> <dtml-var chunk_dspPrimaryColEdit> </dtml-if> Just keep in mind, that any object with a namespace (folders, documents, certain class instances) that is in the acquisition path can have that namespace explicitly invokes with <dtml-with name_of_object>. This only works for object with a namespace; methods are not acquirable objects, and though you might call them objects (in a loose sense) they are not objects in a Zopish sense. I don't know if my sugestion will work for you, but hopefully it will help. Sean ========================= Sean Upton Senior Programmer/Analyst SignOnSanDiego.com The San Diego Union-Tribune 619.718.5241 sean.upton@uniontrib.com ========================= -----Original Message----- From: Geoffrey L. Wright [mailto:gwright@integritysi.com] Sent: Wednesday, January 03, 2001 3:16 PM To: zope@zope.org Subject: [Zope] Poor Procedural Programmer Needs OOPish Enlightenment or... "A Cry for Namespace Help" I seem to have run into one of those Zope namespace issued that's starting to make me dizzy. I have a index_html method that displays content conditionally depending on where it's called. It looks like this: <dtml-if expr="PARENTS[0].id != 'edit'"> <dtml-var index.html> <dtml-else> <dtml-var chunk_editFrameset> </dtml-if> The chunk_editFrameset method also displays the same index.html file in one of two frames. This works like a champ. If I'm in a directory called edit when this is called, it displays the frameset. Otherwise, it displays the index.html directly. The index.html method is contains a bunch 'o static html plus another method called chunk_dspPrimaryCol that also conditionally displays information based on where it's called. chunk_dspPrimaryCol looks like this: <dtml-if expr="PARENTS[0].id != 'edit'"> <dtml-var chunk_dspPrimaryColPublic> <dtml-else> <dtml-var chunk_dspPrimaryColEdit> </dtml-if> This doesn't work like I'd hoped, since I have to move back up the namespace stack to find index.html, and by the time I do I'm no longer in the edit folder. So I _always_ end up displaying the chunk_dspPrimaryColPublic method, even if I call the index_html method from within the edit folder. What I need (I think) is a way to keep all of this activity in the edit Folder. Or I need some other way of solving this problem. Any thoughts? I hope my description was clear enough... -- Geoffrey L. Wright Developer / Systems Administrator (907) 563-2721 ex. 4900 http://www.integritysi.com _______________________________________________ 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 )
participants (1)
-
sean.upton@uniontrib.com