[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Publisher/Browser - Resource.py:1.3

Jim Fulton jim@zope.com
Fri, 12 Jul 2002 18:11:03 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/Publisher/Browser
In directory cvs.zope.org:/tmp/cvs-serv4513

Modified Files:
	Resource.py 
Log Message:
Changed to include a URL path segment to set the skin when a
non-default skin is used. This was necessary to make URL-based skin
specification work, but it is even more important for proper caching.


=== Zope3/lib/python/Zope/App/Publisher/Browser/Resource.py 1.2 => 1.3 ===
 
         service = getWrapperContainer(self)
         site = getWrapperContainer(service)
+
+        skin = self.request.getPresentationSkin()
+        if skin:
+            skin = "++skin++%s/" % skin
+
         if site is None:
-            return "/@@/%s" % (name)
+            return "/%s@@/%s" % (skin, name)
 
         absolute_url = queryView(service, 'absolute_url', self.request)
 
         if absolute_url is None:
-            return "/@@/%s" % (name)
+            return "/%s@@/%s" % (skin, name)
 
         site_url = absolute_url()
         
-        return "%s/@@/%s" % (site_url, name)
+        return "%s/%s@@/%s" % (site_url, skin, name)
 
     __call__ = ContextMethod(__call__)