Stéphane Brunet wrote:

Hello,

I was wondering how to change the homepage view, just like in the worldcookery.com website (In fact, I installed the "wcsite" package to try it). On the official site, cliking on the "Home" (or top) link goes to a welcome page containing customized content rather than on the default list of objects contained in the top folder.

How can I reproduce this behaviour on my own site ?

Thank you!

Stéphane

Answering to my own question: it is just a matter of configuration…

The code of Worldcookery.com website (see wcsite-1.1.tgz in the download area) adds a view in order to provide a more specific interface, IWCSite, to the top folder which provides ISite interface. The configure.zcml file for the whole package contains the following part:

<browser:page
name="makeWCSite.html"
for="zope.app.site.interfaces.ISite"
class=".browser.MakeWCSite"
attribute="makeWCSite"
permission="zope.ManageServices"
/>

which links to the following piece of code in browser.py file:

class MakeWCSite(BrowserView):

def makeWCSite(self):
site = removeSecurityProxy(self.context)
directlyProvides(site, IWCSite, providedBy(site))
self.request.response.redirect('.')

So when invoking e.g. http://localhost:8080/makeWCsite.html, the makeWCSite function adds the IWCSite interface to the list of interfaces provided by the top folder (look at the introspector view of the top folder before and after).

Thanks to the other part of configure.zcml for the whole package :

<browser:page
name="index.html"
for=".interfaces.IWCSite"
class=".browser.WCSiteView"
template="site.pt"
permission="zope.View"
/>

a custom view for the IWCSite objects is registered. The site.pt file does the rest of the job.

I hope that it can help other newcomers like me... ;-)

Any idea how to the same in a more generic way ?

Regards,

Stéphane

_______________________________________________
Zope3-users mailing list
[EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to