[Zope] METAL macros

David bluepaul at earthlink.net
Sun Mar 12 21:00:27 EST 2006


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




More information about the Zope mailing list