Hi Stéphane. Check out http://www.zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx See the heading "Traversal methods" where this is explained. Martijn.
Great, I should test this code tonight ! some more question : id don't understand the two different usage of __getitem__ and __bobo_traverse__. __bobo_traverse__ seems to be a way to control url walk and __getitem__ control the way attributs can be load by zope.
If I change the URL when I use __bobo_traverse__ it works, and if I change the way I'm searching attributs in zope object tree it works too. Is it correct ?
2008/3/26, Martijn Jacobs <martijn@fourdigits.nl <mailto:martijn@fourdigits.nl>>:
If you have a zope product you can do something like this indeed :
class MyContainer(Folder): """My Folderish Product"""
def mydoc_xls(self, REQUEST=None): """My new xls method""" return "My new xls method"
def __getitem__(self, key): """Check for mydoc.xls, then return mydoc_xls""" if key == 'mydoc.xls': return self.mydoc_xls return super(Folder, self).__getitem__(key)
Hi! Hey, Tres, could you point us to a web example or a web page with more information about that technique? I'm very interested on it and the technique that was introduced sometime ago about how to return a string as __bobo_traverse__ response but the example was uncompleted (for me at least)
This kind of information was very useful for many of us but there are no good tutorial or how-to
Thanks a lot!
2008/3/26, Tres Seaver <tseaver@palladion.com <mailto:tseaver@palladion.com>>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Martijn Jacobs wrote: > Maybe a simple solution : > > Do you use apache as a frontend for your zope? If you do you can rewrite > the incoming url's for example like this : > > RewriteEngine On > RewriteRule ^/folder/mydoc.xls(.*) > http://localhost:8080/VirtualHostBase/http/myIntranet/object_in_zope/Virtual... > [L,P]
Or add a '__getitem__' to your class that looks for that key and returns the right method.
Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com <mailto:tseaver@palladion.com> Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFH6ZfK+gerLs4ltQ4RAgdjAJ9bwmIjAbqkG1YKUyrgbKSG47FlXgCdHW+P GzL6mjcA1K8t9Q/5Y75tfF4= =mySN -----END PGP SIGNATURE-----
_______________________________________________ Zope maillist - Zope@zope.org <mailto: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 )
-- Mis Cosas http://blogs.sistes.net/Garito Zope Smart Manager http://blogs.sistes.net/Garito/670 ------------------------------------------------------------------------
_______________________________________________ Zope maillist - Zope@zope.org <mailto: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 )
-- Martijn Jacobs Four Digits, Internet Solutions
a: Willemsplein 15-1 6811 KB Arnhem NL kvk: 091621370000 | btw: 8161.22.234.B01 e-mail: martijn@fourdigits.nl <mailto:martijn@fourdigits.nl> | web: http://www.fourdigits.nl
tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117
_______________________________________________ Zope maillist - Zope@zope.org <mailto: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 )
-- Martijn Jacobs Four Digits, Internet Solutions a: Willemsplein 15-1 6811 KB Arnhem NL kvk: 091621370000 | btw: 8161.22.234.B01 e-mail: martijn@fourdigits.nl | web: http://www.fourdigits.nl tel: +31 (0)26 44 22 700 | fax: +31 (0)84 22 06 117