2012-11-15 4 views
1

이것은 정말 기본적인 디자인 질문이지만 대답을 찾을 수없는 것 같습니다. 정말 간단한 예제를 사용하겠습니다 만,이 예제의 모델 수준 계산 인 "2 + 2"가 복잡 해지는 경우에 대한 우려가 있습니다.Plone 또는 Zope에서 "모델"계산을 수행하는 방법

Zope 또는 Plone에서 실행되는 응용 프로그램을 설계한다고 가정 해 보겠습니다. 그 직업은 두 개의 숫자를 더하는 것입니다. 손재수를 사용하면 addend1 및 addend2 필드가있는 콘텐츠 형식을 쉽게 만들 수 있으며 나를 위해 양식을 추가, 편집, 표시 할 수 있습니다. 디스플레이 폼을 수정하여 "sum"이라는 필드를 표시 할 수도 있지만 "sum"은 내 모델에서 광범위한 계산 결과이므로 "add"또는 "edit"양식에 표시하지 않으려 고합니다. 계산 결과와 마찬가지로 입력 할 필요가 없습니다. 비싸고 처음 계산 한 후에 재사용하고 싶습니다. 어쨌든 내 계산을 어떻게하는지에 대한 지식이 필요하지 않게 "보기"를 원하지 않습니다.

그래서 결과의 표시와 아무런 관련이없는 모델 작업을 수행하기위한 올바른 "zca"방법은 무엇입니까? ISum과 같은 인터페이스를 만들고 컨텐츠 유형을 합계를 포함하는 것으로 변환 한 다음 ISum 인터페이스에 대한보기를 수행하는 어댑터를 만드십니까? 그게 아니라면 뭐라구? PP4D와 Zope 3 Developers Handbook을 검색하는 것이 도움이되지 않았습니다.

미리 감사드립니다.

답변

5

이벤트 사용; 컨텐트 유형이 추가되거나 편집 될 때 이벤트 핸들러를 등록 할 수 있으며 이러한 이벤트가 처리기를 트리거 할 때마다 개체의 값을 설정할 수 있습니다.

+0

감사합니다. 그것은 내가 실험 해본 접근법입니다. 그것은 일을하는 이상한 길처럼 느껴진다. 이것이 내가 말하는 것을하기위한 표준 방법으로 간주되는지에 대한 더 많은 의견을 환영합니다. 그렇다면 내 감정을 지나칠 수 있습니다. – mjtrac

+0

좋아, Martijn이 신이거나, 적어도 demi-god 인 것을 본다. 그래서 내가 반박을 여기에서 보지 않는 한, 나는 add와 edit 이벤트를 볼 것이다. 다시 한번 감사드립니다. – mjtrac

+0

+1 Martijn의 답변, 아니 반대, Martijn의 신 상태에 대한 귀하의 추정을 확인;) –