Plone:从Plone页面调用外部Python脚本
我有一些条目(比如数据库表中的产品),我需要在页面加载时从数据库中获取它们的详细信息。
我有一个全局的Python脚本(getValues)来获取数据。
我该如何调用这个脚本呢?因为这些产品是分类的,存在不同的文件夹,而这个脚本则放在主文件夹“Products”里。
- 书籍
- 书籍1
- 书籍2
- 手机
- 手机1
- 手机2
- getValues
书籍1、书籍2、手机1、手机2是我通过Plone界面创建的页面(通过“添加新页面”而不是通过ZMI)。
我尝试的代码如下:
<div tal:repeat="records context/getValues">
<span tal:replace="records/Name"></span>
<span tal:replace="records/Price"></span>
</div>
这是我的Python脚本(getValues):
records = {'Name': 'Test', 'Price': 20,}
return records
如果能提供一些帮助或建议,那就太好了,这样我就可以继续进行下去了。
根据你们的建议,这里是我更详细的问题。
这是我在portal_skins/custom中添加的脚本的截图
为什么这个脚本在页面加载时没有被调用?
我需要在页面加载事件中调用这个Python脚本,就像在PloneFormgen中的表单设置脚本一样。
1 个回答
2
如果你把你的Python脚本放在plone_skins文件夹下的任何一个子文件夹里,它就可以被所有的内容项使用。
比如,你可以把一个叫做foobar的脚本放到custom文件夹下,位置是在plone_skins
里。
这样你就可以调用它了:
<div tal:repeat="records context/foobar">