Plone 4:CalendarWidget仅显示Year而没有Date和Month

时间:2012-02-20 14:06:59

标签: plone

在Plone 4中,我正在使用CalendarWidget。是否可以在自定义视图中仅显示日期时间字段中的年份?我需要输入的一些记录没有月份和日期,但提供了年份。

有没有办法限制窗口小部件只允许年份,但忽略日期和月份字段除非提供它们?

目前我的代码如下:

atapi.DateTimeField('item_publication_date',
        required=True,
        searchable = True,
        validators = ('isValidDate'),
        widget = atapi.CalendarWidget(
            show_hm=False,
            label=_(u'Publication Date'),
            starting_year=1970,
            format='%Y',
            description=_(u"Item Publication Date"),
        ),
    ), 

1 个答案:

答案 0 :(得分:3)

你做不到。在Zope中,DateTime对象必须有一个月和一天才能工作,如果你只供应一年,它们会被设置为什么?

但是,您可以使用带有动态词汇表的简单StringField让用户从下拉列表中选择一年,然后在内容类上使用自定义方法为getItem_publication_date()返回DateTime对象该字段的返回值的年份。