2

名前、会社、電話などの通常のフィールドのほかに、顧客を管理するための器用さを備えた単純なコンテンツ タイプを作成しています...また、顧客との最初の会議が開催されたときに保存する日時フィールドを追加しました。これは、インターフェイス ICustomers で次のように定義した「firstmeeting」です。

firstmeeting = schema.Datetime(
        title=_(u"First Meeting"),
        required=False,
    )

ここで、新しい顧客ドキュメントを保存すると、フォームに日付を設定していなくても、最初の会議フィールドに現在の日付が入力されていることに気付きました。これは、顧客との会議が開催されていないため、私が望んでいるものではありません。まだ。したがって、このフィールドに None 値を設定して何も表示されないようにする方法を知りたいです。

http://plone.org/products/dexterity/documentation/manual/developer-manual/advanced/classesでMartin Aspeliによって説明されているカスタムクラスを使用しようとしていますが 、ユーザーを確認する方法がわかりません何も入力されていない場合は、None 値を入力して設定します。

ありがとう

4

2 に答える 2

0

試しましたdefault=Noneか?

于 2011-09-01T17:14:26.457 に答える
0

自分のコードで何が起こっているかを知りました。

実際問題は、None 値を現在の日付に変換する toLocalizedTime() 関数を使用したテンプレート view.pt にあったため、tal:condition を追加して日付値を出力しました。

<span id="form-widgets-firstmeeting" class="datetime-widget datetime-field"
      tal:condition="context/firstmeeting"
      tal:content="python:context.toLocalizedTime(context.firstmeeting)" />
于 2011-09-02T04:51:23.643 に答える