1

特に器用さの下でのオブジェクトの操作に関するマニュアルを読みました。http://plone.org/products/dexterity/documentation/manual/developer-manual/reference/manipulating-content-objects/

私がやりたいことは、作成中の現在のコンテナにコンテンツ(アイテム/コンテナのいずれか)をプログラムで追加することです。具体的には、コンテナー/フォルダーを作成しています。このコンテナーが作成されると、親フォルダー (手動で新しく作成されたフォルダー) の下にアイテム/フォルダーが自動的に作成されます。

この同様のコード createContentInContainer(folder, 'content_type_name', title=u"title_here") を使用しようとしましたが、インスタンスで「フォルダー」が定義されていないというエラーが表示されます。このスニペットをコンテンツ タイプに挿入する方法を教えてください。クラスコンストラクター内で定義された関数/メソッド内ですか、それとも「フォルダー」を最初に宣言/定義する方法ですか?

ありがとう。

4

1 に答える 1

2

答えは非常に簡単に思えます: あなたはフォルダーのようなタイプでfolderなければなりません。existing instance例えば:

new_id = plonesite.invokeFactory('Folder', 'some_id')
folder = plonesite[new_id]

from plone.dexterity.utils import createContentInContainer
createContentInContainer(folder, 'example.type', title=u"Foo")

HTH

于 2012-07-17T07:09:39.147 に答える