hi, I think you goes wrong way,All you have done is just like Christophe said:
"create an IMyFolder interface, implemented by MyFolder as a subclass of Folder (nothing more), then to register an index.html for IMyFolder." and maybe "containerViews" zcml directive will help you. however,if you stand on your way,try this: from zope.security.checker import CheckerPublic, Checker, defineChecker @adapter(IDatabaseOpenedWithRootEvent)def RegisterLocalPage(event): # security setting required = {} for n in ( 'browserDefault', '__call__', 'publishTraverse'): required[n] = CheckerPublic defineChecker(NewFolderIndex, Checker(required)) db, conn, root, root_folder = getInformationFromEvent(event) for city in root_folder: sm = root_folder[city].getSiteManager() sm.registerAdapter(NewFolderIndex, [IFolder, IMyLayer], IBrowserPage, 'index.html') transaction.commit() conn.close() On Jan 6, 2008 10:19 PM, nixon <[EMAIL PROTECTED]> wrote: > Thank you, Christophe! > > I write code according to your FAQ, but an error occurs. > My code is: > > class NewFolderIndex(BrowserPage): > #adapts(IFolder, IMyLayer) > > #__call__ = ViewPageTemplateFile('skin/test.pt') > def __call__(self): > self.request.response.setHeader('Content-Type', 'text/plain') > return self.context.name > > @adapter(IDatabaseOpenedWithRootEvent) > def RegisterLocalPage(event): > db, conn, root, root_folder = getInformationFromEvent(event) > for city in root_folder: > sm = root_folder[city].getSiteManager() > sm.registerAdapter(NewFolderIndex, [IFolder, IMyLayer], IBrowserPage, > 'index.html') > transaction.commit() > conn.close() > > Zope starts up without any issue. But when I access the 'index.html', an > error occurs: > > Traceback (most recent call last): > File "D:\wp\Python24\Lib\site-packages\zope\publisher\publish.py", line > 130, i > n publish > obj = > request.traverse(obj) > File "D:\wp\Python24\Lib\site-packages\zope\publisher\browser.py", line > 527, i > n traverse > ob, add_steps = publication.getDefaultTraversal(self, ob) > File "D:\wp\Python24\Lib\site-packages\zope\app\publication\browser.py", > line > 66, in getDefaultTraversal > return ob.browserDefault(request) > ForbiddenAttribute: ('browserDefault', <mailnice.reglocalpage.NewFolderIndex > obj > ect at 0x027F8BF0>) > > I dont know why. It seems the inherited BrowserPage.browserDefault is > available. > > Thank you! > R Nixon > > ------------------------------ > 雅虎邮箱传递新年祝福,个性贺卡送亲朋!<http://cn.mail.yahoo.com/gc/index.html?entry=5&souce=mail_mailletter_tagline> > > > _______________________________________________ > Zope3-users mailing list > Zope3-users@zope.org > http://mail.zope.org/mailman/listinfo/zope3-users > > -- cheers best regards
_______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users