Plone 4: CalendarWidget для отображения только года без даты и месяца - PullRequest
1 голос
/ 20 февраля 2012

В 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 Ответ

3 голосов
/ 20 февраля 2012

Вы не можете.В Zope объекты DateTime должны иметь месяц и день для работы вообще, и что бы они установили, если бы вы указывали только год?

Однако вы можете использовать простой StringField с динамическим словарем дляпусть пользователи выбирают год из раскрывающегося списка, а затем используют пользовательский метод в своем классе контента, чтобы вернуть объект DateTime для getItem_publication_date (), где вы берете год для возвращаемого значения из этого поля.

...