[Zope3-Users] Re: Still a skinning problem
Florian Lindner
mailinglists at xgm.de
Thu Feb 8 10:54:51 EST 2007
Am Mittwoch, 7. Februar 2007 07:50 schrieb Jürgen Kartnaller:
> Florian,
> if you want the url to your current site implement this :
>
>
> class SiteUrlView(object):
>
> def __call__(self):
> return absoluteURL(hooks.getSite(), self.request)
>
> And register a page :
>
> <page
> name="site_url"
> for="*"
> class=".views.SiteUrlView"
> permission="zope.Public"
> />
>
> Now you can use context/@@site_url anywhere.
Hi,
this works perfect when using it like:
<a tal:attributes="href context/@@site_url">home</a>
but when I try to directly link to a view registered with the object site_url
returns:
<a tal:attributes="href context/@@site_url/@@search.html">suche</a>
(tried some variations of the above) it fails.
How can I link to these views?
Thanks,
Florian
the log message:
File "/home/florian/Zope3/src/zope/tales/tales.py", line 696, in evaluate
return expression(self)
- /home/florian/Desktop/zope/lib/python/xgm/browser/skin/template.pt
- Line 19, Column 18
- Expression: <PathExpr standard:u'context/@@site_url/@@search.html'>
- Names:
{'args': (),
'context': <xgm.xgm.XGM object at 0x966d0ac>,
'default': <object object at 0xb7c9a558>,
'loop': {},
'nothing': None,
'options': {},
'repeat': {},
'request': <zope.publisher.browser.BrowserRequest instance
URL=http://localhost:8080/++skin++xgm/xgm/@@index.html>,
'template':
<zope.app.pagetemplate.viewpagetemplatefile.ViewPageTemplateFile object at
0x9169aac>,
'view': <zope.app.pagetemplate.simpleviewclass.SimpleViewClass
from /home/florian/Desktop/zope/lib/python/xgm/browser/skin/index.pt object
at 0x96ca2cc>,
'views': <zope.app.pagetemplate.viewpagetemplatefile.ViewMapper object
at 0x96ca2ec>}
File "/home/florian/Zope3/src/zope/tales/expressions.py", line 217, in
__call__
return self._eval(econtext)
File "/home/florian/Zope3/src/zope/tales/expressions.py", line 194, in _eval
ob = self._subexprs[-1](econtext)
File "/home/florian/Zope3/src/zope/tales/expressions.py", line 124, in _eval
ob = self._traverser(ob, element, econtext)
File "/home/florian/Zope3/src/zope/app/pagetemplate/engine.py", line 68, in
__call__
request=request)
File "/home/florian/Zope3/src/zope/traversing/adapters.py", line 154, in
traversePathElement
return namespaceLookup(ns, nm, obj, request)
- __traceback_info__: (<zope.app.publisher.browser.viewmeta.SiteUrlView
object at 0x96ca48c>, '@@search.html')
File "/home/florian/Zope3/src/zope/traversing/namespace.py", line 112, in
namespaceLookup
return traverser.traverse(name, ())
File "/home/florian/Zope3/src/zope/traversing/namespace.py", line 345, in
traverse
raise TraversalError(self.context, name)
TraversalError: (<zope.app.publisher.browser.viewmeta.SiteUrlView object at
0x96ca48c>, 'search.html')
127.0.0.1 - - [08/Feb/2007:16:53:46 +0200] "GET /++skin++xgm/xgm HTTP/1.1" 500
89 "-" "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like
Gecko)"
More information about the Zope3-users
mailing list