<html><body><br>
Hello,<br>
<br>
I have a problem since upgrading to Zope210x that I hope, concerns "Development folks".<br>
<br>
I use a call to "custom-internal" pagetemplates in one of my products (actually they are plugins).<br>
<br>
With Zope 2.9.6, in my product I use:<br>
<br>
return _config.myPT(context={'here':self, 'request':REQUEST})<br>
<br>
_config. is a module which initialize myPT as a PageTemplate and read-it in like so:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f = open(aPlugin + '/' + myPT)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myPT = PageTemplate()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myPT.write(f.read())<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.close()<br>
<br>
<br>
This always worked!<br>
<br>
<br>
Now, with Zope 2.10.2svn, and the new PageTemplate machinery, this call
doesn't work anymore. My custom pagetemplates are full of "here"
statements in their TAL expressions and they are not recognized anymore:<br>
<br>
Here's the log:<br>
<br>
<br>
Exception Type&nbsp; &nbsp;&nbsp;&nbsp; KeyError<br>
Exception Value &nbsp;&nbsp;&nbsp; 'here'<br>
<br>
Traceback (innermost last):<br>
<br>
&nbsp;&nbsp;&nbsp; * Module ZPublisher.Publish, line 119, in publish<br>
&nbsp;&nbsp;&nbsp; * Module ZPublisher.mapply, line 88, in mapply<br>
&nbsp;&nbsp;&nbsp; * Module ZPublisher.Publish, line 42, in call_object<br>
&nbsp;&nbsp;&nbsp; * Module Products.SlashAdmin.SlashAdmin, line 1204, in edit_form<br>
&nbsp;&nbsp;&nbsp; * Module zope.pagetemplate.pagetemplate, line 96, in __call__<br>
&nbsp;&nbsp;&nbsp; * Module zope.pagetemplate.pagetemplate, line 117, in pt_render<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 271, in __call__<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 346, in interpret<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 534, in do_optTag_tal<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 516, in no_tag<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 346, in interpret<br>
&nbsp;&nbsp;&nbsp; * Module zope.tal.talinterpreter, line 745, in do_insertStructure_tal<br>
&nbsp;&nbsp;&nbsp; * Module zope.tales.tales, line 696, in evaluate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Line 1, Column 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Expression: &lt;PathExpr standard:'here/slash_header'&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Names:<br>
<br>
{'args': (),<br>
&nbsp;'default': &lt;object object at 0x2b149c76a200&gt;,<br>
&nbsp;'loop': {},<br>
&nbsp;'nothing': None,<br>
&nbsp;'options': {'context': {'here': &lt;SlashAdmin at /testpt/browse used for /testpt/www/DOMAINES&gt;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'request': &lt;HTTPRequest,
URL=http://intranet/DOMAINES/browse/edit_form&gt;}},<br>
&nbsp;'repeat': {},<br>
&nbsp;'template': &lt;zope.pagetemplate.pagetemplate.PageTemplate object at 0x2b14a55ff6d0&gt;,<br>
&nbsp;'usage': &lt;zope.pagetemplate.pagetemplate.TemplateUsage object at 0x2b14a963fd10&gt;}<br>
<br>
&nbsp;&nbsp;&nbsp; * Module zope.tales.expressions, line 217, in __call__<br>
&nbsp;&nbsp;&nbsp; * Module zope.tales.expressions, line 194, in _eval<br>
&nbsp;&nbsp;&nbsp; * Module zope.tales.expressions, line 118, in _eval<br>
<br>
<br>
*********************************************<br>
I have tried many combinations like using extra_context, combining
self.. etc.. But I don't follow what changed between Zope version that
could affect that.<br>
<br>
Surely the "context" key of "options" key (!) does not work as before.<br>
<br>
<br>
<br>
Can someone help?<br>
<br>
<br>
Tx<br>
<br>
jf<br>
<br>
<br>
</body></html>