在Plone中,我有一个Z SQL方法:
SELECT [aapp_qtitle]
,[aapp_mtitle]
,[aapp_sdate]
,[aapp_duration]
FROM [AAPP].[dbo].[M_PageBodyElement] where [aapp_id]=<dtml-sqlvar aapp_id type=int>
如何在Plone页面代码中设置aapp_id的值?
好的,谢谢马修,确切的模板代码是什么?我试过了:
<p tal:define="AAPPInfo python:here.get/AAPPInfo(aapp_id=100003).dictionaries()"></p>
<p tal:repeat="records context/AAPPInfo">
<span tal:replace="records/aapp_qtitle">Title: </span><br>
但我得到的名字'AAPPInfo'没有定义错误。
答案 0 :(得分:1)
例如,如果ZSQL方法被称为'getAAPPInfo',你可以像这样用Python调用它:
AAPPInfo = context.getAAPPInfo(aapp_id=1).dictionaries() if AAPPInfo: print AAPPInfo[0]['aapp_qtitle']
或类似。
从页面模板中,您需要使用表达式tal:define="AAPPInfo python:here.getAAPPInfo(aapp_id=1).dictionaries()
,然后您可以正常迭代它。
答案 1 :(得分:0)
AAPPInfo猜测你所谓的SQL方法。你也忽略了我的语法并编写了自己的语法,这就是为什么它不起作用。