[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" -
> ---------------------------------------------------------------------
>