1

だから私はフォームを持っています(plone.directives.formから例を取得しています):

from plone.directives import form
from zope import schema

class IMySchema(form.Schema):

    title = schema.TextLine(title=u"Title")

@form.default_value(field=IMySchema['title'])
def default_title(data):
    return data.context.suggested_title

これは、追加フォームに対してのみ正常に機能します。

問題は、この同じメソッドを編集フォームでも使用するにはどうすればよいかということです。それが問題に関連している場合、私は自分で編集フォームを生成しません。

編集:非常に関連性のあることを忘れていました:フィールドに入力された値は別の場所に保存され、イベントハンドラーのおかげですでに機能しているため、常にデフォルト値を提供できるようにする必要があります(から抽出された現在の値ユーザー (システム管理者) がその値を変更できるようにしますが、ほとんどの場合は検索 (つまり、そのフィールドの値) を許可します。

ここでの使用例は、システム管理者がメンバーの電子メール フィールドを参照できるようにすることです。電子メールは portal_membership に保存されますが、通常のメンバー編集プロファイルを拡張して、システム管理者のみが電子メールを表示して変更できるようにしました。

4

0 に答える 0