- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Plone 4.3.3 中使用 PloneFormGen 1.7.12。我有一个很大的选择字段,其中包含大约 20 个名称。这是必需的。如果用户选择其中一个名字,它应该将它们发送到一个 Plone Page 模板,该模板有它们的说明。如果它选择任何其他页面,它应该向用户发送一封包含他们的表单结果的电子邮件,并将他们带到一个感谢页面。
我已经尝试使用 python 脚本执行此操作,但我所做的不起作用。脚本中的代码是:
REDIRECT = context.REQUEST.RESPONSE.redirect
URL=context.REQUEST.URL1 + '/'
FORM=context.REQUEST.form
school_name = context.REQUEST.form['school_name']
member = context.portal_membership.getAuthenticatedMember()
roles=member.getRolesInContext(context)
if school_name <> "Other-School not Listed":
return False
else:
return REDIRECT(URL + 'not_listed')
我将 python:here.school_redirect() 放在自定义表单操作覆盖中,但 URL 显示:
python:here.school_redirect()
页面显示“无法理解地址”
school_redirect 是python脚本的idnot_listed 是Plone页面模板的idschool_name 是选择字段的id
非常感谢任何建议。
乔比格勒
最佳答案
Custom Form Action
是一个简单的 StringField,没有 TALES 表达式字段。
这意味着您可以将 ./school_redirect
添加到 Custom Form Action
中,但是您会遇到其他问题,例如返回 False
将不起作用,无论如何你都需要重定向。您还可以绕过所有验证器和成功处理程序。
所以恕我直言,另一种方法可能更好:
<强>1。覆盖成功处理程序
自定义成功操作
FormFolder 上的字段。您可以添加单个表达式或 Python 脚本,它会返回正确的值。
字段说明:
Use this field in place of a thanks-page designation to determine final action after calling your action adapter (if you have one). You would usually use this for a custom success template or script. Leave empty if unneeded. Otherwise, specify as you would a CMFFormController action type and argument, complete with type of action to execute (e.g., "redirect_to" or "traverse_to") and a TALES expression. For example, "redirect_to:string:thanks-page" would redirect to 'thanks-page'.
您的 ./school_redirect
只需稍作改动即可适应此解决方案。不要重定向自己,只返回正确的 id(页面模板/ View /等)
<强>2。不要触发邮件适配器
为此,邮件适配器提供了一个名为执行条件
的字段。
A TALES expression that will be evaluated to determine whether or not to execute this action. Leave empty if unneeded, and the action will be executed. Your expression should evaluate as a boolean; return True if you wish the action to execute. PLEASE NOTE: errors in the evaluation of this expression will cause an error on form display.
添加脚本或表达式,用于评估是否需要触发电子邮件。
您可以重用 ./school_redirect
脚本来编写表达式:python: here.school_redirect() != 'not_listed'
/p>
关于python - 如何根据选择变量中的值将 PloneFormGen 重定向到页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364509/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!