まず第一に、Dexterity Content Types 2.0.7 で Plonce Plone 4.3 (4305) インスタンスを実行しています。
私のアプローチは、Python スクリプト (ZMI 経由で追加) を作成することです。このスクリプトは、メソッドを使用して、invokeFactory(...)
またはtypestool.constructContent(..)
ここで説明されている、器用さのコンテンツ タイプを作成します: http://plone.org/documentation/kb/add-content-programmatically (私は 2 つのスクリプトを作成しました)同じタスクを実行しますが、異なる方法を使用します - 学習目的のため)
上記の両方のメソッドのコンストラクターに DateTime オブジェクトを追加してコンテンツ タイプを作成しようとする場合を除いて、すべて正常に動作しています。日付フィールドは奇妙に日と年の値のみを更新します。Python内でライブラリをインポートする際の制限のため、私は(私の現在の知識では)このコードで立ち往生しています:
d = DateTime('12/12/2013')
私のスクリプトは、完了後に次のような日付オブジェクトを返します。
2013/12/12 00:00:00 GMT+1
作成後に Date 値を出力する別の小さなスクリプトを作成しましたが、同じ結果が得られます (これは正しいようです)。結果のコンテンツ タイプでは、日と年のフィールドが正しく更新されますが、月の値は 1 月のままで、表示時に次の TypeError が発生します。
TypeError: int() argument must be a string or a number, not 'instancemethod'
月の値を手動で編集することでこれを修正できますが、これはまさに私が望むものではありません。私の DateTime オブジェクトの小さな問題だと思いますが、現時点ではアイデアが不足しています (全体的なドキュメントは少し散らばっているようです)。DateTime コンストラクター内でさまざまな日付形式を試しましたが、うまくいきませんでした。
オブジェクトのカスタム フィールド値を変更する方法もわかりません。Plone はsetTitle()
andsetDescription()
メソッドのみを提供しているようです。誰かが良いヒントを持っているかもしれません。
よろしくお願いします。