[Checkins] SVN: z3c.menu.ready2go/trunk/s Make the template pluggable with z3c.template pattern

Roger Ineichen roger at projekt01.ch
Fri Feb 15 08:34:42 EST 2008


Log message for revision 83857:
  Make the template pluggable with z3c.template pattern
  Register default template for menu item
  Reflect changes in tests

Changed:
  U   z3c.menu.ready2go/trunk/setup.py
  U   z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/README.txt
  A   z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/browser.zcml
  U   z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/configure.zcml
  U   z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py
  U   z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/zcml.txt

-=-
Modified: z3c.menu.ready2go/trunk/setup.py
===================================================================
--- z3c.menu.ready2go/trunk/setup.py	2008-02-15 13:18:18 UTC (rev 83856)
+++ z3c.menu.ready2go/trunk/setup.py	2008-02-15 13:34:41 UTC (rev 83857)
@@ -60,6 +60,7 @@
     install_requires = [
         'setuptools',
         'z3c.i18n',
+        'z3c.template',
         'zope.app.component',
         'zope.app.pagetemplate',
         'zope.schema',

Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/README.txt
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/README.txt	2008-02-15 13:18:18 UTC (rev 83856)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/README.txt	2008-02-15 13:34:41 UTC (rev 83857)
@@ -5,9 +5,22 @@
 The z3c.menu.ready2go package provides a menu implementation which allows you 
 to implement menus based on content providers and viewlets.
 
-Let's see what this means.
+First let's setup our defualt menu item template:
 
+  >>> import os
+  >>> import zope.component
+  >>> from zope.publisher.interfaces.browser import IDefaultBrowserLayer
+  >>> from zope.publisher.interfaces.browser import IBrowserView
+  >>> from z3c.template.interfaces import IContentTemplate
+  >>> from z3c.template.template import TemplateFactory
+  >>> import z3c.menu.ready2go
+  >>> baseDir = os.path.split(z3c.menu.ready2go.__file__)[0]
+  >>> itemTemplate = os.path.join(baseDir, 'item.pt')
+  >>> itemTemplateFactory = TemplateFactory(itemTemplate, 'text/html')
+  >>> zope.component.provideAdapter(itemTemplateFactory,
+  ...     (IBrowserView, IDefaultBrowserLayer), IContentTemplate)
 
+
 Global Menu
 -----------
 
@@ -54,7 +67,6 @@
 We also need our checker adapter which can check if a menu item is available
 and/or selected:
 
-  >>> import zope.component
   >>> from z3c.menu.ready2go import checker
   >>> zope.component.provideAdapter(checker.GlobalSelectedChecker)
   >>> zope.component.provideAdapter(checker.SiteSelectedChecker)
@@ -97,7 +109,6 @@
 
 And we need a view which knows about it's parent:
 
-  >>> from zope.publisher.interfaces.browser import IBrowserView
   >>> class View(contained.Contained):
   ... 
   ...     zope.interface.implements(IBrowserView)
@@ -139,8 +150,6 @@
 
 Now we register a context menu item for our IGlobalMenu:
 
-  >>> from zope.publisher.interfaces.browser import IDefaultBrowserLayer
-
   >>> from z3c.menu.ready2go.item import GlobalMenuItem
   >>> class MyGlobalMenuItem(GlobalMenuItem):
   ...

Added: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/browser.zcml
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/browser.zcml	                        (rev 0)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/browser.zcml	2008-02-15 13:34:41 UTC (rev 83857)
@@ -0,0 +1,13 @@
+<configure 
+    xmlns:zope="http://namespaces.zope.org/zope"
+    xmlns="http://namespaces.zope.org/browser"
+    xmlns:z3c="http://namespaces.zope.org/z3c"
+    i18n_domain="z3c">
+
+  <z3c:template
+      template="item.pt"
+      for=".item.MenuItem"
+      layer="zope.publisher.interfaces.browser.IBrowserRequest"
+      />
+
+</configure>


Property changes on: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/browser.zcml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/configure.zcml
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/configure.zcml	2008-02-15 13:18:18 UTC (rev 83856)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/configure.zcml	2008-02-15 13:34:41 UTC (rev 83857)
@@ -13,4 +13,6 @@
       factory=".checker.ContextSelectedChecker"
       />
 
+  <include file="browser.zcml" />
+
 </configure>

Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py	2008-02-15 13:18:18 UTC (rev 83856)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/item.py	2008-02-15 13:34:41 UTC (rev 83857)
@@ -22,8 +22,8 @@
 
 from zope.viewlet import viewlet
 from zope.app.component import hooks
-from zope.app.pagetemplate import ViewPageTemplateFile
 
+from z3c.template.template import getPageTemplate
 from z3c.menu.ready2go import interfaces
 
 
@@ -31,7 +31,7 @@
 class MenuItem(viewlet.ViewletBase):
     """Menu item base."""
 
-    template = ViewPageTemplateFile('item.pt')
+    template = getPageTemplate()
 
     # internal approved values
     approved = False

Modified: z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/zcml.txt
===================================================================
--- z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/zcml.txt	2008-02-15 13:18:18 UTC (rev 83856)
+++ z3c.menu.ready2go/trunk/src/z3c/menu/ready2go/zcml.txt	2008-02-15 13:34:41 UTC (rev 83857)
@@ -5,6 +5,21 @@
 Show how we can use the menu directive. Register the meta configuration for 
 the directive.
 
+First let's setup our defualt menu item template first:
+
+  >>> import os
+  >>> import zope.component
+  >>> from zope.publisher.interfaces.browser import IDefaultBrowserLayer
+  >>> from zope.publisher.interfaces.browser import IBrowserView
+  >>> from z3c.template.interfaces import IContentTemplate
+  >>> from z3c.template.template import TemplateFactory
+  >>> import z3c.menu.ready2go
+  >>> baseDir = os.path.split(z3c.menu.ready2go.__file__)[0]
+  >>> itemTemplate = os.path.join(baseDir, 'item.pt')
+  >>> itemTemplateFactory = TemplateFactory(itemTemplate, 'text/html')
+  >>> zope.component.provideAdapter(itemTemplateFactory,
+  ...     (IBrowserView, IDefaultBrowserLayer), IContentTemplate)
+
   >>> import sys
   >>> from zope.configuration import xmlconfig
   >>> import z3c.menu.ready2go



More information about the Checkins mailing list