LinguaPlone は MultiSelect ウィジェットを使用して複数の言語を選択します。InOut ウィジェットや MultiCheckBox ウィジェットのようなものは、長いリストから選択したすべての言語を確認するのが難しいため、より優れたユーザー インターフェイスになります。
以下を使用して FormFields をオーバーライドしようとしました。
form_fields['available_languages'].custom_widget = MultiCheckBoxWidget
zope.formlib docs で提案されているように、次のようにトレースバックを取得しています:
Traceback (innermost last):
Module ZPublisher.Publish, line 128, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module zope.formlib.form, line 795, in __call__
Module five.formlib.formbase, line 50, in update
Module zope.formlib.form, line 758, in update
Module plone.fieldsets.form, line 30, in setUpWidgets
Module zope.formlib.form, line 402, in setUpEditWidgets
Module zope.formlib.form, line 334, in _createWidget
TypeError: __init__() takes exactly 4 arguments (3 given)
デフォルトのウィジェットをオーバーライドするにはどうすればよいですか?