2011-08-29 6 views
3

私はフォルダタイプのコンテンツタイプと子タイプを内部に持っています。子タイプにはファイルフィールドがあります。それは、私はその後、親のインタフェースでにリンクすることができます子供たちを、年代の私は、自動的にすべてのファイルを含む.zipファイルを生成することができるかどう一部のコンテンツのファイルフィールド(Plone 3)からzipファイルを自動的に作成

Font family (folderish) 
- Font (child) 
    - Font file 1 (field) 
- Font (child) 
    - Font file 2 

私は疑問に思って。

もしそうなら、アプローチを説明できますか? BLOBを使用する必要がありますか?私は、zipFileTransportという製品があることに気付きます。このアクションをルールに追加する方法はありますか?

+3

Python標準ライブラリには、圧縮ツールが付属しています。コンテンツを繰り返し処理し、zipデータを生成し、このデータをブラウザにストリームするブラウザビューを作成する必要があります。必要なブロブはありません。ディスクを使用する必要はありません。Pythonでメモリバッファを扱うことができます。子アイテムを反復する方法は、collective-docs.plone.orgで説明されています。 –

答えて

3

ファイルフィールドを使用してカスタムコンテンツタイプを作成する代わりに、ATFileコンテンツタイプを拡張してファイルのような動作をすべて無料にすることをお勧めします。そこから、collective.zipfiletransportを使用することができます。ただし、フォルダのコンテンツタイプ内でファイルコンテンツの種類のみを許可することができます。

関連する問題