I'm having difficulty figuring out how to make METAL macros reusable. Is it standard practice to put macros into a common folder where they can be used by numerous different websites? I just can't get a handle on how they are supposed to be used. According to:- http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AppendixC.stx Macros provide a way to define a chunk of presentation in one template, and share it in others, so that changes to the macro are immediately reflected in all of the places that share it. Additionally, macros are always fully expanded, even in a template's source text, so that the template appears very similar to its final rendering. This does not really tell me how they should be used. Can someone give me an example of real world usage? -- John
John Poltorak wrote:
I'm having difficulty figuring out how to make METAL macros reusable.
Is it standard practice to put macros into a common folder where they can be used by numerous different websites?
I just can't get a handle on how they are supposed to be used.
According to:-
http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AppendixC.stx
Macros provide a way to define a chunk of presentation in one template, and share it in others, so that changes to the macro are immediately reflected in all of the places that share it. Additionally, macros are always fully expanded, even in a template's source text, so that the template appears very similar to its final rendering.
This does not really tell me how they should be used. Can someone give me an example of real world usage?
Hi John, This is about as simple as it gets (sorry if i misunderstood your question): (1) Name this page template ptMacros <html> <body> This is Page Template <em tal:content="template/id">template id</em>. <p metal:define-macro="copyright"> Copyright 2001, <em>Foobar</em> Inc. </p> </body> </html> (2) name this page template ptTest <html> <body> This is Page Template <em tal:content="template/id">template id</em>. <p metal:use-macro="container/ptMacros/macros/copyright"> <b metal:fill-slot="name">Copyright goes here</b> </p> </body> </html> And test it out. David
--On 12. März 2006 18:00:27 -0800 David <bluepaul@earthlink.net> wrote:
John Poltorak wrote:
I'm having difficulty figuring out how to make METAL macros reusable.
Hi John,
This is about as simple as it gets (sorry if i misunderstood your question):
(1) Name this page template ptMacros
<html> <body> This is Page Template <em tal:content="template/id">template id</em>.
<p metal:define-macro="copyright"> Copyright 2001, <em>Foobar</em> Inc. </p> </body> </html>
(2) name this page template ptTest <html> <body> This is Page Template <em tal:content="template/id">template id</em>.
<p metal:use-macro="container/ptMacros/macros/copyright"> <b metal:fill-slot="name">Copyright goes here</b> </p> </body> </html>
...which is basically the same as in the Zope Book: <http://www.plope.com/Books/2_7Edition/ZPT.stx#1-12> -aj ----------------------------------------------------------------------- - Andreas Jung ZOPYX Ltd. & Co KG - - E-mail: info@zopyx.com Web: www.zopyx.com, www.zopyx.de - -----------------------------------------------------------------------
On Mon, Mar 13, 2006 at 07:37:38AM +0100, Andreas Jung wrote:
--On 12. März 2006 18:00:27 -0800 David <bluepaul@earthlink.net> wrote:
John Poltorak wrote:
I'm having difficulty figuring out how to make METAL macros reusable.
Hi John,
This is about as simple as it gets (sorry if i misunderstood your question):
(1) Name this page template ptMacros
<html> <body> This is Page Template <em tal:content="template/id">template id</em>.
<p metal:define-macro="copyright"> Copyright 2001, <em>Foobar</em> Inc. </p> </body> </html>
(2) name this page template ptTest <html> <body> This is Page Template <em tal:content="template/id">template id</em>.
<p metal:use-macro="container/ptMacros/macros/copyright"> <b metal:fill-slot="name">Copyright goes here</b> </p> </body> </html>
...which is basically the same as in the Zope Book:
What this really needs is a sample website which shows how these snippets all work together. Trying to make sense of these little fragments in isolation is hard work. Is there an example of a small sample website which highlights the use of macros?
-aj
-- John
participants (3)
-
Andreas Jung -
David -
John Poltorak