Setting a variable for a Z SQL method

2019-08-31 04:13发布

In Plone I have a Z SQL methood:

SELECT [aapp_qtitle]
      ,[aapp_mtitle]
      ,[aapp_sdate]
      ,[aapp_duration]
FROM [AAPP].[dbo].[M_PageBodyElement] where [aapp_id]=<dtml-sqlvar aapp_id type=int>

How can I set the value of aapp_id in my Plone page code?

OK thanks Matthew what's the exact template code? I've tried:

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

But I get name 'AAPPInfo' is not defined error.

标签: sql plone zope
2条回答
等我变得足够好
2楼-- · 2019-08-31 04:28

If the ZSQL method was called 'getAAPPInfo', for example, you would call it from Python like this:

AAPPInfo = context.getAAPPInfo(aapp_id=1).dictionaries()
if AAPPInfo:
  print AAPPInfo[0]['aapp_qtitle']

or similar.

From a Page Template you need to use the expression tal:define="AAPPInfo python:here.getAAPPInfo(aapp_id=1).dictionaries() and then you can iterate through that as normal.

查看更多
一夜七次
3楼-- · 2019-08-31 04:43

AAPPInfo was a guess at what you called your SQL method. You also have ignored my syntax and written your own, that's why it's not working.

查看更多
登录 后发表回答