2011-04-13 3 views
3

과거에 발생한 이벤트를 만들 때 Plone 4의 "이벤트 만들기"양식에서 다음 중 하나를 수행하려고합니다.plone 이벤트 양식의 입력 방법을 변경 하시겠습니까?

i. '시작일'및 '종료일'드롭 다운의 기본 시작일/종료일을 더 큰 범위의 값으로 설정합니다 (2001 년 이전 또는 2016 년 이후에 이벤트를 생성 할 수 없음).

또는

ii. 사용자가 이벤트의 시작/종료 날짜를 텍스트로 입력하도록 허용합니다 (드롭 다운에서 선택하는 것이 아니라).

나는 어디에서든지이 양식을 통제하고있는 것을 발견 할 수 없다 ... 인터넷 검색 시간 이후!

답변

3

시작 및 끝 필드는 기본 CalendarWidget 위젯을 사용하는 표준 아키 타입 DateTimeField 필드입니다.

CalendarWidget은 Plone의 오래된 캘린더 매크로를 재사용하며 사이트 속성에서 선택 가능한 범위를 읽습니다. ZMI에서 이것을 변경할 수 있습니다. portal_properties 도구를 찾은 다음 site_properties 속성 시트를 찾으십시오. 찾기 위해 두 가지 속성은 다음과 같습니다

calendar_starting_year

달력 위젯에 표시 할 수있는 시작 해. 기본값은 현재의 년 후에, 달력 위젯에 표시,

미래 년의 수 calendar_future_years_available 2001

입니다. 기본값은 비어 있으며 위젯은 다시 5 년 동안 사용됩니다.

site properties documentation도 참조하십시오. GenericSetup profile을 사용하여이를 설정할 수도 있습니다.

이 값은 일정 관리 매크로의 모든 사용에 적용됩니다. startDate 및 endDate 필드의 CalendarWidget에 starting_year, ending_year 및/또는 future_years 속성을 설정하여 이벤트 유형에만 설정할 수도 있습니다. ending_year을 설정하면 future_years 속성은 무시됩니다. 이벤트 스키마의

원숭이 - 패치 스타일의 변질 :

이 필요 정확히 무엇 이었는가
from Products.Archetypes.content import event 

ATEventSchema['startDate'].widget.starting_year = 1999 
ATEventSchema['startDate'].widget.ending_year = 2020 
ATEventSchema['endDate'].widget.starting_year = 1999 
ATEventSchema['endDate'].widget.ending_year = 2020 
+0

. site_properties 파일을 편집하여 필요한 결과를 얻었습니다. 매우 감사합니다! – Patrick

0

starting_year 및 ending_year는합니다 (ATEvent 스키마 구현의 정의 내부) 다음 연도 범위에 대한 몇 가지 가정이

제품/CMFPlone/스킨/plone_scripts 내부에서 만들어지는 calendarwidget의 정의 수준에 정의되어 있지 않은 경우 /date_components_support.py

date_components_support.py 스크립트에서 관련 코드를 수정하십시오.

관련 문제