A z3c.form 日期选择器小部件(维护者 Thomas Buchberger)
项目描述
ftw.datepicker
ftw.datepicker 提供了一个基于 jQuery 的 DateTimePicker 小部件的日期/时间选择器小部件,用于您的 z3c.form 字段。它与 Plone 4.3 和 5.1 兼容。
截图
安装
将 ftw.datepicker 添加到您的 buildout 配置中。
[instance] eggs += ... ftw.datepicker
导入 ftw.datepicker 的通用设置配置文件。
用法
您可以使用 plone.directives.form 帮助将小部件应用于字段。
from plone.directives import form
from plone.supermodel import model
from ftw.datepicker.widget import DateTimePickerWidgetFactory
class MySchema(model.Schema):
form.widget(due_date=DateTimePickerWidgetFactory)
due_date = schema.Datetime()
这将渲染一个允许选择日期和时间的部件。
您可以通过这种方式传递部件的自定义配置
from plone.directives import form
from plone.supermodel import model
from ftw.datepicker.widget import DateTimePickerWidgetFactory
class MySchema(model.Schema):
form.widget('due_date', DateTimePickerWidgetFactory, config=my_config)
due_date = schema.Datetime()
config 可以是一个字典或一个生成字典的可调用对象。然后值会被转换成 JSON 对象并传递给模板,以便部件可以获取。例如:{‘format’: ‘d.m.Y’, ‘timepicker’: False}。
有关选项的完整列表,请参阅 http://xdsoft.net/jqplugins/datetimepicker/。
如果需要,您甚至可以将部件应用于 TextLine 字段。
如果您希望为需要时区的日期字段使用部件,可以通过将 default_timezone 设置为 Olson DB/pytz 时区标识符或一个回调(该回调接受上下文作为参数)来告知它。
from plone.directives import form
from plone.supermodel import model
from ftw.datepicker.widget import DateTimePickerWidgetFactory
class MySchema(model.Schema):
form.widget('due_date',
DateTimePickerWidgetFactory,
default_timezone='Europe/Berlin') # or in
due_date = schema.Datetime()
如果您想为已经定义的字段使用此部件,您也可以这样做。在 IEventBasic 的情况下,由于 plone.appe.event 的工作方式,您必须设置 default_timezone。
from plone.autoform.interfaces import WIDGETS_KEY
WIDGETS = {
MySchema: {'start_date': DatePickerFieldWidget,
'end_date': DatePickerFieldWidget},
}
for schema, widget_config in WIDGETS.items():
values = schema.queryTaggedValue(WIDGETS_KEY, {})
values.update(widget_config)
schema.setTaggedValue(WIDGETS_KEY, values)
# Or with the default_timezone and/or config set:
from plone.app.event.base import default_timezone
from plone.app.event.dx.behaviors import IEventBasic
from plone.autoform.interfaces import WIDGETS_KEY
from plone.autoform.widgets import ParameterizedWidget
WIDGETS = {
IEventBasic: {'start': ParameterizedWidget(DatePickerFieldWidget,
default_timezone=default_timezone,
config=my_config),
'end': ParameterizedWidget(DatePickerFieldWidget,
default_timezone=default_timezone,
config=my_config)},
}
for schema, widget_config in WIDGETS.items():
values = schema.queryTaggedValue(WIDGETS_KEY, {})
values.update(widget_config)
schema.setTaggedValue(WIDGETS_KEY, values)
开发
可以下载 jQuery 插件,并将其解压缩到 ftw/datepicker/resources/js 内的单独文件夹中。只有配置文件中定义的 CSS 和 JS 文件将被使用。
链接
版权
本软件包版权属于 4teamwork。
ftw.datepicker 依据 GNU 通用公共许可证,版本 2 许可。
变更日志
1.6.2 (2020-07-30)
修复如果软件包最初安装于 1.1.0 和 1.1.1 时重新安装的问题(更多信息请见 #30) [Nachtalb, maethu]
1.6.1 (2020-07-29)
修复从 Plone 4 升级到 Plone 5 时在重新安装时失败的问题,这是由于其 IDatetimeRegistry.formats 字段在 registry.xml 中的奇怪行为 [Nachtalb]
1.6.0 (2020-02-27)
为部件添加时区支持 [Nachtalb]
1.5.1 (2020-02-05)
IResourceRegistry 在 plone4 中不存在。在“修复资源包”升级步骤中添加条件。 [2e12]
检查 AMD 支持,并相应地加载模块 [tinagerber]
纠正 plone 4 jsregistry 中的错误引用 [tinagerber]
1.5.0 (2019-12-16)
添加构建和加载资源的新方式 [busykoala]
1.4.0 (2019-03-20)
将资源移动到 plone 包 [busykoala]
1.3.4 (2018-07-23)
禁用日期选择器的自动完成和自动填充功能 [tarnap]
1.3.3 (2018-05-24)
修复针对具有多种语言和非组合语言代码的部署的语言格式选择问题 [lgraf]
1.3.2 (2018-04-13)
修复 JS 注册表中的 insert-after 引用问题 [phgross]
1.3.1 (2018-04-12)
使用 minified 版本的 jquery.datetimepicker JS [phgross]
1.3.0 (2018-03-19)
添加对组合(国家特定)语言代码的支持 [mathias.leimgruber]
更新 DateTimePicker 到版本 2.5.18 [mathias.leimgruber]
添加对 Plone 5.1 的支持 [njohner]
1.2.1 (2017-06-22)
通过触发加载和重新加载事件来支持覆盖 [mathias.leimgruber]
1.2.0 (2017-02-22)
更新翻译,使其正常工作 [mathias.leimgruber]
不允许年份早于 1900。Python 2.7 的 strftime 不支持 1900 年之前的年份 [mathias.leimgruber]
实现额外的配置选项 [tschanzt]
停止与 Plone 4.1 和 Plone 4.2 的兼容性 [mbaechtold]
1.1.2 (2016-07-25)
修复 registry.xml 的导入/导出问题 [mbaechtold]
1.1.1 (2015-12-04)
最小化 JS 资源 [mathias.leimgruber]
1.1.0 (2015-09-30)
使根据当前语言使用不同的日期格式成为可能 [tschanzt]
使用XDSoft的DateTimePicker小部件,它也支持时间选择(http://xdsoft.net/jqplugins/datetimepicker/)。注意:已停止对Plone 4.0.x的支持。[mbaechtold]
1.0.5 (2015-08-03)
修复了Plone 4.3站点的日历图标。[phgross]
1.0.4 (2014-02-12)
将软件包移动到GitHub。[lknoepfel]
1.0.3 (2012-11-28)
调整javascript:使用$代替已弃用的jq。[phgross]
1.0.2 (2012-09-11)
转换器:为瑞士法语格式添加了额外的日期格式。[philippegross] 问题 #223 Kalender in der franz. Version https://extranet.4teamwork.ch/support/ph-vs/tracker/223 [philippegross]
1.0.1 (2012-02-24)
添加了一些法语翻译。[ttschanz]
修复了法语语言的日期解析(支持小写月份名称)。[jone]
1.0 (2011-11-17)
最终发布。[phgross]
1.0a10 (2011-09-29)
修复了更改日志,并使其与zest.releaser兼容。[phgross]
1.0a9 (2011-09-29)
问题 #1176所有的翻译都使用from zope.i18n import translate https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1176 [eschmutz]
为plone 4.1添加了测试-buildout。[eschmutz]
1.0a8
修复了测试:将zope.schema.Field()添加到text.form中[7.7.2011, elio.schmutz]
1.0a7
为DateTimeParseError添加了翻译。[ttschanz]
1.0a6
修复了当日期为小写时ftw.datepicker失败的问题。[ttschanz]
1.0a5
移除了安装时的inline导入jquery.ui.all.css,并在安装时安装collective.js.jqueryui。[01.12.2010, fsprenger]
1.0a4
1.0a3
在安装配置文件时,日期选择器被配置为默认小部件。[jbaumann]
1.0a2
1.0
初始发布
项目详情
ftw.datepicker-1.6.2.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | a12f1382862d200087660103c37e249af1cbea06d24ab1b8a266d2c99e68b33c |
|
MD5 | e398c929d8cab9c8ba6345fb51954a9f |
|
BLAKE2b-256 | 2c9a671e603384fdf1c170c4b0ff3928e65d44c5bb645ddc72ec348c348161f6 |