Is there a way to get inheritance, so that, for example, class C(B): sect1 = DTMLFile("CSect2",globals())+B.sect1(self)?
I don't think that syntax will work, but perhaps you see what I'm driving at--I want to include all the previous stuff. On Thu, Jul 18, 2002 at 09:11:13AM -0400, Casey Duncan wrote: > One approach might be to create a generic dtml (or zpt) template that has > several placeholders (in the form of <dtml-var> or tal:replace) for the areas > of the form that will vary. > > Then each subclass can override what goes in these placeholders if it chooses. > Something like: > > class A(Acquisition.Implicit): > main = DTMLFile('foo', globals()) > sect1 = DTMLFile('Asect1', globals()) > sect2 = DTMLFile('Asect2', globals()) > > class B(A): > sect1 = DTMLFile('Bsect1', globals()) > > class C(B): > sect2 = DTMLFile('Csect2', globals()) > > class D(A): > sect2 = DTMLFile('Dsect2', globals()) > > where main.dtml looks like: > > <dtml-var standard_html_header> > ... > <dtml-var sect1> > ... > <dtml-var sect2> > ... > <dtml-var standard_html_footer> > > The DTMLFile should acquire the correct version of sect1 and sect2 from its > parent instance above. > > Asect1.dtml, Asect2.dtml, Bsect1.dtml, Csect2.dtml and Dsect2.dtml would all > be separate files. > > hth, > > Casey > > > On Wednesday 17 July 2002 05:50 pm, Ross Boylan wrote: > > I have a product with a number of classes that have subclasses. It > > seems natural to make the screens for the subclasses by extending > > those of the superclass. Can anyone suggest a good way to do that? > > > > The naive approach is that I have a manage_edit_A.dtml that gives a > > management screen for A. If B subclasses A, I create > > manage_edit_B.dtml by copying from the first file and then fiddling > > with it. Obviously, it would be desirable for a change in A to only > > require changing a single file. > > > > I would prefer a more elegant approach. Perhaps I can define some > > method in A that the dtml will reference, and then B can override the > > method to add some extra stuff (the method would return a DTML > > snippet). > > > > First, I'm not exactly sure how to pick up the method from the DTML. > > Second, I'm not sure if this is the best solution. For one thing, I > > would prefer to keep all my dtml in separate files, rather than > > defining it into my methods. > > > > Any suggestions? > > > > P.S. I'd like to thank Toby Dickenson, Casey Duncan, and R. David > > Murray for their very helpful responses to my previous question. > > > > > > _______________________________________________ > > Zope-Dev maillist - [EMAIL PROTECTED] > > http://lists.zope.org/mailman/listinfo/zope-dev > > ** No cross posts or HTML encoding! ** > > (Related lists - > > http://lists.zope.org/mailman/listinfo/zope-announce > > http://lists.zope.org/mailman/listinfo/zope ) > > > > _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )