Plone:将变量从PloneFormGen自定义脚本适配器传递到Mailer适配器

Plone:将变量从PloneFormGen自定义脚本适配器传递到Mailer适配器,plone,ploneformgen,Plone,Ploneformgen,我有一个带有自定义脚本适配器的PloneFormGen表单,它在表单提交时生成一个新的uid,并创建一个ID为该uid的文件夹 from DateTime import DateTime uid = str(DateTime().millis()) target.invokeFactory("Folder", id=uid, title=form['your-name']) 它使用表单中的输入在该文件夹中创建各种项目,包括一个名为“newpage”的文档,然后我希望在电子邮件中包含指向该文档的

我有一个带有自定义脚本适配器的PloneFormGen表单,它在表单提交时生成一个新的uid,并创建一个ID为该uid的文件夹

from DateTime import DateTime
uid = str(DateTime().millis())
target.invokeFactory("Folder", id=uid, title=form['your-name'])
它使用表单中的输入在该文件夹中创建各种项目,包括一个名为“newpage”的文档,然后我希望在电子邮件中包含指向该文档的链接。有没有办法将uid变量从脚本适配器传递到mailer适配器,以便生成指向文件夹中新文档的链接

例如,脚本适配器创建了一个ID为1317142676351的文件夹,因此在提交表单时,其中一个新页面的URL为。我希望能够在我的一个Mailer适配器模板中包含该链接,但我不知道如何获取自定义脚本适配器中生成的uid,或者这是否可能。首先是邮件程序还是自定义脚本适配器


我们非常感谢任何朝着正确方向的努力

只需将id值复制到请求中即可。在脚本中,代码如下所示:

request.set('custom_id', id)

我会的。如果需要自动处理变量,请在表单中创建一个匹配的隐藏变量。

在这种情况下,内容规则(添加时触发,执行邮件操作)是否可以处理您的邮件用例,不要依赖于在PloneFormGen上下文中运行的脚本?谢谢你的提示!我以默认值“python:str(DateTime().millis())”的形式创建了一个隐藏的字符串变量,它工作起来很有魅力!可以在表单中创建隐藏字段,但需要在脚本中设置id值。否则,您将为黑客创造一个重写该值的机会。