zope writes:
... Now all my macros are in the same page. I m am trying to use : <div tal:condition="request/form/lkid | nothing"> <tal:block define="mName python:here.oms.Users.lib.pset_links(lkid=request.form['lkid'])"> <metal:block use-macro="container/zptmac_memall/macros/?mName"> List </metal:block> This does not work, because TAL-attributes are only evaluated once all METAL-attributes have been executed.
As a consequence you must not refer to a TAL defined variable in a METAL attribute. Use a Python script to return the macro object you need. Furthermore, you cannot suppress a METAL attribute execution with a "tal:condition" (for the same reasons). Use an (almost) empty macro in such a case (it may need to define slots, when you call it with "metal:fill-slot").
... <div tal:condition="request.form.get('lkid') == 't' "> Here, a "python:" is missing.
Dieter