Plone に AT コンテンツ タイプがあります。ファイルフィールドを含むいくつかのフィールドがあります。ユーザーがこのタイプのオブジェクトを編集するとき、新しいファイルがアップロードされたかどうかをどのように確認できますか?
さらに言えば、フィールドのいずれかが変更されたかどうかをどのように確認できますか?
現在、サブスクライバーを使用して IObjectEditedEvent にフックし、オブジェクトの変更後に何らかの処理を行っています。ここでこれらの処理を行うことはできますか?
Plone に AT コンテンツ タイプがあります。ファイルフィールドを含むいくつかのフィールドがあります。ユーザーがこのタイプのオブジェクトを編集するとき、新しいファイルがアップロードされたかどうかをどのように確認できますか?
さらに言えば、フィールドのいずれかが変更されたかどうかをどのように確認できますか?
現在、サブスクライバーを使用して IObjectEditedEvent にフックし、オブジェクトの変更後に何らかの処理を行っています。ここでこれらの処理を行うことはできますか?
はい、IObjectEditedEvent
(の直接のサブクラスIObjectModifiedEvent
)は、Archetypesコンテンツオブジェクトが変更されているときに発行されます。
ただし、イベント自体は、新しいファイルがアップロードされたかどうかを通知しません。ただし、リクエストを取得して(たとえば、context.REQUESTは取得を通じて現在のリクエストを提供する必要があります)、フィールドに一致するファイルオブジェクトがあるかどうかを確認することは可能です。その場合、ユーザーはそのフィールドの新しいファイルをアップロードし、FileField
が更新されます。