如何使用表达式在PloneFormGen中生成注册号?

如何使用表达式在PloneFormGen中生成注册号?,plone,ploneformgen,Plone,Ploneformgen,我正在尝试使用PloneFormGen设置会议的登记表,我想使用TALES表达式来计算现有记录的数量,添加“1”,然后在“谢谢”页面上显示该记录作为登记者的登记号。这可能吗 过去,我曾使用以下方法生成一个随机的6位数字,为支持请求创建一个案例编号ID,该编号除了跟踪请求外并不重要,一旦案例结束,它就会被删除 python:random.randint(100000, 999999) 我是走对了路,还是完全走错了路?我过去曾用以下技巧做到这一点: 在ZMI中,我在表单上创建了一个名为“reg_c

我正在尝试使用PloneFormGen设置会议的登记表,我想使用TALES表达式来计算现有记录的数量,添加“1”,然后在“谢谢”页面上显示该记录作为登记者的登记号。这可能吗

过去,我曾使用以下方法生成一个随机的6位数字,为支持请求创建一个案例编号ID,该编号除了跟踪请求外并不重要,一旦案例结束,它就会被删除

python:random.randint(100000, 999999)

我是走对了路,还是完全走错了路?

我过去曾用以下技巧做到这一点:

  • 在ZMI中,我在表单上创建了一个名为“reg_count”的整数属性,其中包含起始编号(导航到表单文件夹并将/manage_properties表单附加到URL)

  • 将隐藏字段添加到表单中。我使用了id“regno”

  • 使用自定义脚本适配器获取reg_count属性,增加该属性,并将其放入请求的表单字典中:

    reg_count = context.getProperty('reg_count', 0) + 1
    context.manage_changeProperties(reg_count=reg_count)
    request.form['regno'] = str(reg_count)
    
  • 自定义“感谢”页面以显示它


  • 现在如何存储现有记录?如何使用“保存数据适配器”在ZMI中的窗体上创建整数属性?如果导航到ZMI中的表单文件夹,则没有可添加的属性选项卡或整数属性类型。我可能遗漏了一些非常简单和基本的东西…谢谢,vangheem,我已经将其整合到了答案中。raytheengineer,你能告诉我们这是否对你有效,或者你是否需要额外的帮助吗?这不太有效。我可以在“谢谢”页面上显示reg\u count值,但它没有计数。这可能意味着从未在文件夹上创建过“reg\u count”属性。