[Checkins] SVN: zope.browserzcml2/trunk/src/zope/browserzcml2/ Merge r67266 from 3.2 branch:

Philipp von Weitershausen philikon at philikon.de
Sat Apr 22 03:07:53 EDT 2006


Log message for revision 67267:
  Merge r67266 from 3.2 branch:
    Support macro access from page template pages through __getitem__ protocol.
  

Changed:
  U   zope.browserzcml2/trunk/src/zope/browserzcml2/ftest.txt
  U   zope.browserzcml2/trunk/src/zope/browserzcml2/ftesting.zcml
  A   zope.browserzcml2/trunk/src/zope/browserzcml2/test3.pt
  A   zope.browserzcml2/trunk/src/zope/browserzcml2/test4.pt
  U   zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py

-=-
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/ftest.txt
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/ftest.txt	2006-04-22 07:05:10 UTC (rev 67266)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/ftest.txt	2006-04-22 07:07:53 UTC (rev 67267)
@@ -99,7 +99,15 @@
   >>> print browser.contents
   Hi, the name's MacGyver.
 
+Pages created like that also support macro access:
 
+  >>> browser = Browser('http://localhost/bz2-usemacrotemplate.html')
+  >>> print browser.headers['status']
+  200 Ok
+  >>> print browser.contents
+  I work at the Phoenix Foundation.
+
+
 Pages from class
 ----------------
 

Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/ftesting.zcml
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/ftesting.zcml	2006-04-22 07:05:10 UTC (rev 67266)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/ftesting.zcml	2006-04-22 07:07:53 UTC (rev 67267)
@@ -52,6 +52,20 @@
       permission="zope.Public"
       />
 
+  <browser2:pageTemplate
+      for="*"
+      name="bz2-macrotemplate.html"
+      template="test3.pt"
+      permission="zope.Public"
+      />
+
+  <browser2:pageTemplate
+      for="*"
+      name="bz2-usemacrotemplate.html"
+      template="test4.pt"
+      permission="zope.Public"
+      />
+
   <browser2:pagesFromClass
       for="*"
       class="zope.browserzcml2.ftests.PhoenixPages"

Copied: zope.browserzcml2/trunk/src/zope/browserzcml2/test3.pt (from rev 67266, zope.browserzcml2/branches/3.2/src/zope/browserzcml2/test3.pt)

Copied: zope.browserzcml2/trunk/src/zope/browserzcml2/test4.pt (from rev 67266, zope.browserzcml2/branches/3.2/src/zope/browserzcml2/test4.pt)

Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py	2006-04-22 07:05:10 UTC (rev 67266)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py	2006-04-22 07:07:53 UTC (rev 67267)
@@ -86,6 +86,8 @@
 
     class TemplatePage(BrowserPage):
         __call__ = ViewPageTemplateFile(template)
+        def __getitem__(self, name):
+            return self.__call__.macros[name]
 
     page(_context, TemplatePage,
          for_, name, permission, layer,



More information about the Checkins mailing list