Ferhat Ayaz wrote at 2006-8-28 11:06 -0700: >Here my question: > >You can do acquisition on URL like > >http://localhost:8080/employee_by_id/emp_id/2/viewEmployee > >here the result of employee_by_id (param is emp_id=2) >is used by viewEmployee. > >But I want to use it in a page template like > ><td tal:content= > "structure mployee_by_id/emp_id/2/viewEmployee"> ></td> > >Unfortunatly this will not work like the above >example.
The reason for this different behaviour is that a ZSQL method uses a traversal hook to implement the "<method>/<parameter>" feature. This traversal hook is only activated during URL traversal but not for path expression evaluation. Fortunately, you do not need this hook in TALES. You can instead use a Python expression to call the ZSQL Method explicitely: <td tal:content=" structure python:employee_by_id(emp_id=2).viewEmployee() " /> This will work only (reliably) when "viewEmployee" is a PageTemplate (not a DTML object). For a DTML object "viewEmployee" you could use: <td tal:define="employee python:employee_by_id(emp_id=2)" tal:content="employee/viewEmployee" /> You find the reason for this strange DTML object behaviour in the "Calling DTML objects" section of <http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html> -- Dieter _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )