<div>hi, </div>
<div>I think you goes wrong way,All you have done is just like Christophe said:</div>
<div> </div>
<div>"create an IMyFolder interface, implemented by MyFolder<br>as a subclass of Folder (nothing more), then to register an index.html for<br>IMyFolder."</div>
<div> </div>
<div>and maybe "containerViews" zcml directive will help you.</div>
<div> </div>
<div>however,if you stand on your way,try this:</div>
<div> </div>
<div>from zope.security.checker import CheckerPublic, Checker, defineChecker</div>
<div>@adapter(IDatabaseOpenedWithRootEvent)def RegisterLocalPage(event):</div>
<div> # security setting</div>
<div> required = {}</div>
<div> for n in ( 'browserDefault', '__call__', 'publishTraverse'):<br> required[n] = CheckerPublic</div>
<div> defineChecker(NewFolderIndex, Checker(required))</div>
<div> </div>
<div> db, conn, root, root_folder = getInformationFromEvent(event) </div>
<div> for city in root_folder: </div>
<div> sm = root_folder[city].getSiteManager() </div>
<div> sm.registerAdapter(NewFolderIndex, [IFolder, IMyLayer], IBrowserPage, 'index.html')</div>
<div> transaction.commit() conn.close()<br><br></div>
<div class="gmail_quote">On Jan 6, 2008 10:19 PM, nixon <<a href="mailto:nxnth@yahoo.com.cn">nxnth@yahoo.com.cn</a>> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><pre>Thank you, Christophe!<br><br>I write code according to your FAQ, but an error occurs.<br>My code is:
<br><br>class NewFolderIndex(BrowserPage):<br> #adapts(IFolder, IMyLayer)<br> <br> #__call__ = ViewPageTemplateFile('skin/test.pt')<br> def __call__(self):<br> self.request.response.setHeader('Content-Type', 'text/plain')
<br> return <a href="http://self.context.name/" target="_blank">self.context.name</a><br><br>@adapter(IDatabaseOpenedWithRootEvent)<br>def RegisterLocalPage(event):<br> db, conn, root, root_folder = getInformationFromEvent(event)
<br> for city in root_folder:<br> sm = root_folder[city].getSiteManager()<br> sm.registerAdapter(NewFolderIndex, [IFolder, IMyLayer], IBrowserPage, 'index.html')<br> transaction.commit()<br>
conn.close()<br><br>Zope starts up without any issue. But when I access the 'index.html', an error occurs:<br><br>Traceback (most recent call last):<br> File "D:\wp\Python24\Lib\site-packages\zope\publisher\publish.py", line 130, i
<br>n publish<br> obj =
request.traverse(obj)<br> File "D:\wp\Python24\Lib\site-packages\zope\publisher\browser.py", line 527, i<br>n traverse<br> ob, add_steps = publication.getDefaultTraversal(self, ob)<br> File "D:\wp\Python24\Lib\site-packages\zope\app\publication\browser.py", line
<br>66, in getDefaultTraversal<br> return ob.browserDefault(request)<br>ForbiddenAttribute: ('browserDefault', <mailnice.reglocalpage.NewFolderIndex obj<br>ect at 0x027F8BF0>)<br><br>I dont know why. It seems the inherited
BrowserPage.browserDefault is available.<br><br>Thank you!<br>R Nixon <br></pre>
<p>
<hr size="1">
<a href="http://cn.mail.yahoo.com/gc/index.html?entry=5&souce=mail_mailletter_tagline" target="_blank">ÑÅ»¢ÓÊÏä´«µÝÐÂÄê×£¸££¬¸öÐԺؿ¨ËÍÇ×Åó£¡</a>
<p></p><br>_______________________________________________<br>Zope3-users mailing list<br><a href="mailto:Zope3-users@zope.org">Zope3-users@zope.org</a><br><a href="http://mail.zope.org/mailman/listinfo/zope3-users" target="_blank">
http://mail.zope.org/mailman/listinfo/zope3-users</a><br><br></p></blockquote></div><br><br clear="all"><br>-- <br>cheers<br>best regards