[Zope] adding dtml/zpt methods to product classes
Paul Winkler
pw_lists at slinkp.com
Fri Jan 28 00:23:39 EST 2005
On Thu, Jan 27, 2005 at 09:59:17PM -0600, Keith Alperin wrote:
> Greetings Zopistas!
>
> I have been a Zope tinkerer for a few years and have never been able to
> adequately solve this problem: When I create a Product class with
> DTML/ZPT methods, how can I make those methods members of the class
> rather than simply instance methods? These examples should illustrate
> what I mean.
I feel like I must be misunderstanding the question.
Your examples are so odd, you must be trying to do something
unusual ;-)
But if you're asking what I think you're asking,
just do what nearly ever other zope Product on the planet does:
class Foo(SimpleItem):
my_method1 = DTMLFile('dtml/my_method', globals())
my_method2 = PageTemplateFile('zpt/my_other_method', globals())
In other words, set them as class attributes, not within
another method.
And to secure them, do this:
class Foo2(SimpleItem):
security = AccessControl.classSecurityInfo()
security.declareProtected('Some Permission', 'method1')
method1 = PageTemplateFile('zpt/method1', globals())
security.declarePrivate('method2')
method2 = PageTemplateFile('zpt/method1', globals())
security.declarePublic('method3')
method3 = PageTemplateFile('zpt/method3', globals())
--
Paul Winkler
http://www.slinkp.com
More information about the Zope
mailing list