[Zope] Page Templates define

Mark Gibson mark@dimensional.com
Sun, 27 Oct 2002 13:55:12 -0700 (MST)


Ahh,  Ok.  It all makes sense now.

So to make something *truly* global to a template, and all processing done 
within that template, I define variables before an processing is done.

So, my example below turns into this:


<span tal:omit-tag=""
      tal:define="objs here/regionObjects;
               num_objs python:objs[0];">

<html metal:use-macro="here/GetTemplate">

... 

</html>
</span>

This seems a little sloppy.  Is there a better way to do it?  

This also leads me to believe that there's no way to define site-wide globals 
available in every Page Template that's generated.  What if I wanted a module 
available in every page without having to define it in every page?  e.g:

tal:define="global pps modules/Products/PythonScripts/standard"

I can't really get this to work, can I?

Mark

> 
> This is the answer from Tres when I had the same problem:
> 
> 
> """
> AFAIK, global names are defined in the scope of the template which
> includes the macro;  the "source" template for the macro is not itself
> "evaluated" before inclusion (METAL processing is done *before* TAL
> processing).
> """
> 
> --On Sonntag, 27. Oktober 2002 13:23 -0700 Mark Gibson 
> <mark@dimensional.com> wrote:
> 
> > I define a variable in a tag, and try and use it in a contained tag, and
> > get a NameError on that variable.  Can anyone help me understand why?
> > The snippet of code is below:
> >
> > <html metal:use-macro="here/GetTemplate"
> >        tal:define="objs here/regionObjects;
> >                 num_objs python:objs[0] ">
> >
> > <div metal:fill-slot="body">
> > <table  border="0" width="100%"
> >     tal:condition="python:num_objs > 11"
> >   >
> > ...
> >
> > Error Type: NameError
> >   Error Value: global name 'num_objs' is not defined
> >
> >
> >
> >
> > _______________________________________________
> > Zope maillist  -  Zope@zope.org
> > http://lists.zope.org/mailman/listinfo/zope
> > **   No cross posts or HTML encoding!  **
> > (Related lists -  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope-dev )
> 
> 
> 
> 
>     ---------------------------------------------------------------------
>    -    Andreas Jung                     http://www.andreas-jung.com   -
>   -   EMail: andreas at andreas-jung.com                              -
>    -            "Life is too short to (re)write parsers"               -
>     ---------------------------------------------------------------------
>