2014-09-28 12 views
1

나는 ATFolderSchema를 사용하는 제품을 작성했습니다. 스키마에는 costum archetypes 필드가 포함됩니다.Plone : processForm()이 내 Archetype 필드를 삭제합니다.

나는 content_edit을 사용하여 편집 양식을 구현했습니다. 잘 작동하지만 content_edit을 호출하면 내 costum archetypes 필드의 내용이 삭제됩니다. Archetypes/skins/archetypes/content_edit_impl.py 함수 호출 new_context.processForm()이이 문제를 일으킨다는 것을 알 수 있습니다. 불행히도 인터넷에서 processForm()에 대한 정보를 찾을 수 없습니다.

Plone 4.1.6 및 Archetypes 1.7.14를 사용합니다.

도와 주시겠습니까?

답변

1

processForm 메서드는 Archetypes에 정의되어 있습니다. BaseObject 기본적으로 이벤트 트리거 + creationFlag를 처리합니다. 당신이 언급 한

번째 코드는 600

당신의 분야가 fields에 있어야하는 데이터 form 라인에, 예를 들어 디버거를 배치 할 수 있습니다 processForm

에 의해 호출 _processForm입니다.

당신의 자신의 content_edit을 갖고 있기 때문에 지금까지 내 생각에 이름 지정 문제가 있습니다.

사용자 정의 content_edit을 임시로 비활성화 (제거)하고 데이터가 객체에 저장되어 있는지 확인할 수 있습니다.

+0

감사합니다. 나는 자신의'content_edit'을 사용하지 않고, 그냥 폼의 메타 데이터에서 호출합니다. 그러나 문제는 다음과 같습니다. 새로운 요구 사항을 처리 할 수없는 나의 costum archetype 필드에 costum 위젯'process_form' 메소드를 작성했습니다. 그래서 나는 그것을 고쳐야 만한다. 다시 한번 고마워 :) – tsabsch