[Zope3-Users] Traverse to nearest site in menu action
    Florian Lindner 
    mailinglists at xgm.de
       
    Thu Mar 31 09:23:32 EST 2005
    
    
  
Hello,
I implemented to traverser to the nearest site using the code in the posting:
[Zope3-Users] Re: Traversing to nearest site
Von: jürgen Kartnaller <j.kartnaller at cable.vol.at>
An: zope3-users at zope.org
Datum: 17.03.2005 13:53
it works: When I'm calling 
http://horus.local:8080/++skin++centershock/cs/++site++ I see the contents of 
the root folder (my nearest site).
Now I want to use for a menu item:
    <menuItems
        menu="CSnavMenu"
        for="*"
        layer="centershock">
        
        <menuItem
            title="home2"
            action="++site++" />
            
    </menuItems>
Resulting in:
  File "/home/florian/Zope3/src/zope/app/publisher/browser/menu.py", line 180, 
in getMenu
    return menu.getMenuItems(object, request)
  File "/home/florian/Zope3/src/zope/app/publisher/browser/menu.py", line 55, 
in getMenuItems
    if item.available():
  File "/home/florian/Zope3/src/zope/app/publisher/browser/menu.py", line 123, 
in available
    if not canAccess(view, '__call__'):
  File "/home/florian/Zope3/src/zope/security/checker.py", line 114, in 
canAccess
    checker.check_getattr(obj, name)
ForbiddenAttribute: ('__call__', <zope.app.folder.folder.Folder object at 
0xb6ee2d6c>)
How do I have to call it?
One other question:
How can I make one of my objects able to be contain a site. Using 
zope.app.component.interfaces.IPossibleSite as a marker interface (like 
<implements interface="zope.app.component.interfaces.IPossibleSite" /> 
in the <content> directive) does not make it. There is a link to add a site, 
but I get a system error when trying to add it.
Or directly inherit from zope.app.folder.interfaces.IFolder?
Thanks,
Florian
    
    
More information about the Zope3-users
mailing list