Plone:从 plone 页面调用外部 python 脚本

发布于 2025-01-01 23:09:58 字数 910 浏览 0 评论 0原文

我有一些条目(例如数据库表中的产品),我需要在从数据库加载页面时收集它们的详细信息。

我有一个全局 python 脚本(getValues)来获取数据。

由于产品已分类并存在于不同的文件夹中,并且脚本位于主文件夹“产品”中,因此如何调用脚本。

  1. 书籍
    • 书1
    • 第二本书
  2. 移动版
    • 手机1
    • 移动2
  3. getValues

Book1,Book2,Mobile1,Mobile2 是我使用 plone 接口创建的页面(添加 New-->Page;不是通过 ZMI)

我尝试的如下:

<div tal:repeat="records context/getValues">
<span tal:replace="records/Name"></span>
<span tal:replace="records/Price"></span>
</div>

和我的 python 脚本(getValues )

记录 = {'名称': '测试','价格': 20,}
返回记录

任何帮助或指示都会很棒,以便我可以继续前进。

根据你们收到的建议,这是我的详细问题

在portal_skins/custom中添加的脚本的屏幕截图

为什么在页面加载事件时没有调用脚本?
我需要在页面加载事件上调用 python 脚本作为 PloneFormgen 中的表单设置脚本

I have some entries(say products in a database table) and i need to collect details of them on page load from the database.

I have a global python script(getValues) to fetch data.

How to call the script since the product are categorized and are present in different folders and the script resides in main folder "Products".

  1. Books
    • Book1
    • Book2
  2. Mobile
    • Mobile1
    • Mobile2
  3. getValues

Book1,Book2,Mobile1,Mobile2 are my pages which has been created using plone interface (add New-->Page; not via ZMI)

what I tried is as follows:

<div tal:repeat="records context/getValues">
<span tal:replace="records/Name"></span>
<span tal:replace="records/Price"></span>
</div>

and my python script(getValues)

records = {'Name': 'Test','Price': 20,}
return records

Any help or pointers would be great so that I can move ahead.

As per the suggestion received by you guys, here is my detailed question

screenshot of the script added in portal_skins/custom

Why the script is not getting called on page load event ?
I need the python script to be called on page load event as Form Setup Script in PloneFormgen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

残花月 2025-01-08 23:09:58

如果您将 Python 脚本放在 plone_skins 下的任何文件夹中,则它可用于每个内容项。

例如,将名为 foobar 的脚本放入 plone_skins 下的 custom

然后你可以调用它:

  <div tal:repeat="records context/foobar"> 

If you put your Python script in any folder under plone_skins it is available for every content item.

E.g. put your script called foobar to custom under plone_skins

Then you can call it:

  <div tal:repeat="records context/foobar"> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文