我正在尝试使用 Plone Form Gen 创建事件内容类型。我一直在使用本教程来执行此操作。
使用Add New...菜单创建事件内容类型时,您需要填写两个字段,即事件的开始日期和结束日期,我希望我的表单从这些字段中提取信息并将其应用于我的事件内容类型用来创建它。
据我了解,我的问题通过以下示例进行了描述:
自定义脚本适配器脚本包含以下内容:
obj.setDescription(form['replyto'])
我可以看到它从以下内容获取 Event 内容类型的 Description 的内容:
<input id="replyto" class="" type="text" size="30" name="replyto" />
添加到 PFG 表单时的日期/时间字段由多个<select>
输入组成,而不仅仅是像上面的一个,我想这意味着没有一个简单的obj.setEndDate()
命令......虽然没有办法引用选择盒子我有点卡住了。
有谁知道是否可以使用 Plone Form Gen创建 Event 内容类型并在其上指定开始和结束日期?
编辑
使用此链接我已经解决了原始问题,但我遇到了更多问题
我已经修改了我的脚本(使用上面的链接),如下所示:
target = context.viewjobs
form = request.form
from DateTime import DateTime
uid = str(DateTime().millis())
loc = form['location-of-event']
target.invokeFactory("Event", id=uid, title=form['topic'], event_url=loc)
obj = target[uid]
obj.setFormat('text/plain')
obj.setText(form['comments'])
obj.setDescription(form['replyto'])
obj.reindexObject()
(我使用 event_url 只是为了测试,因为我对这个选项没有任何运气event_start
)。
它可以创建事件,但是当我查看事件时,我得到:
Module zope.tales.expressions, line 217, in __call__
Module Products.PageTemplates.Expressions, line 147, in _eval
Module zope.tales.expressions, line 124, in _eval
Module Products.PageTemplates.Expressions, line 74, in boboAwareZopeTraverse
Module OFS.Traversable, line 317, in restrictedTraverse
Module OFS.Traversable, line 285, in unrestrictedTraverse
__traceback_info__: ([], 'location')
属性错误:位置
我没有在脚本中的任何地方引用位置,当我这样做时,我得到了同样的错误。
任何想法将不胜感激