[Zope3-Users] Re: Traverse to nearest site in menu action
Florian Lindner
mailinglists at xgm.de
Sun Apr 3 17:19:12 EDT 2005
Am Samstag, 2. April 2005 08:37 schrieb Stephan Richter:
> On Saturday 02 April 2005 04:38, jürgen Kartnaller wrote:
> > > Why in the world would you want to do that? This seems just awful. What
> > > is your use case?
> >
> > In my case I want to have the possibility to jump back to my base view
> > (which is the default view of my site) from wherever I am within my site.
> >
> > But, if there is an easier way to do this, please let me know.
>
> Then write a wrapper view for all interfaces that internally looks up the
> next site and looks up the default view:
>
> class SiteDefaultView(object):
>
> def __call__(self):
> site = getNextSiteSomehow()
> defaultViewName = getDefaultViewName(site, self.request, site)
> view = zapi.getMultiAdapter((site, request), Interface,
> name=defaultViewName) return view()
Hello,
your solution:
class toSite(object):
def __call__(self):
from zope.app.zapi import *
site = getSite()
defaultViewName = getDefaultViewName(site, self.request, site)
view = getMultiAdapter((site, self.request), name=defaultViewName)
return view()
get the same results as mine:
class toSite(object):
def __call__(self):
from zope.app.zapi import absoluteURL
URL = absoluteURL(getSite(), self.request)
return self.request.response.redirect(URL)
What are the differences? Which is better? Why?
I think yours is better since it does not involve a redirect. What do you
think?
Thanks,
Florian
More information about the Zope3-users
mailing list