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

ray*_*eer 3 plone ploneformgen

我正在尝试使用PloneFormGen为会议设置注册表单,我想使用TALES Expression来计算现有记录的数量,添加"1",然后在"Thank You"页面上显示为注册人的注册号码.这可能吗?

我曾使用以下内容生成一个随机的6位数字来为支持请求创建一个案例编号ID,除了跟踪请求之外,该编号无关紧要,一旦案例关闭,它将被删除.

python:random.randint(100000, 999999)
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上,还是我完全走错了路?

Ste*_*veM 6

我以前用以下技巧做过这个:

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

  2. 向表单添加隐藏字段.我使用id"regno";

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

    reg_count = context.getProperty('reg_count', 0) + 1
    context.manage_changeProperties(reg_count=reg_count)
    request.form['regno'] = str(reg_count)
    
    Run Code Online (Sandbox Code Playgroud)
  4. 自定义感谢页面以显示它.