Plone MultiCheckBoxWidget呈现为In-Out Widget

Plone MultiCheckBoxWidget呈现为In-Out Widget,plone,dexterity,z3c.form,Plone,Dexterity,Z3c.form,我们有以下敏捷模式: from plone.app.form.widgets import MultiCheckBoxWidget visibilityVocabulary = SimpleVocabulary( [ SimpleTerm(u'OSP', title=u'OSP'), SimpleTerm(u'BIZ', title=u'BIZ'), ] class ISomeSchema(Interface): # ... form.widget(vis

我们有以下敏捷模式:

from plone.app.form.widgets import MultiCheckBoxWidget

visibilityVocabulary = SimpleVocabulary(
[
    SimpleTerm(u'OSP', title=u'OSP'),
    SimpleTerm(u'BIZ', title=u'BIZ'),
]

class ISomeSchema(Interface):
     # ...
     form.widget(visibility=MultiCheckBoxWidget)
     visibility = schema.Set(title=Visibility',
                             value_type=schema.Choice(vocabulary=visibilityVocabulary)
                             )
该字段是使用输入和输出小部件而不是使用复选框呈现的 在我们的模式中指定

为什么?

plone.app.form中的小部件用于zope.formlib表单。灵巧使用z3c.form库

改用z3c.form.browser.checkbox.CheckBoxFieldWidget。像这样:

from zope import schema
from zope.schema.vocabulary import SimpleVocabulary
from zope.schema.vocabulary import SimpleTerm

from plone.directives import form

from z3c.form.browser.checkbox import CheckBoxFieldWidget

visibilityVocabulary = SimpleVocabulary(
[
    SimpleTerm(u'OSP', title=u'OSP'),
    SimpleTerm(u'BIZ', title=u'BIZ'),
])

class ISomeSchema(form.Schema):

     form.widget(visibility=CheckBoxFieldWidget)
     visibility = schema.Set(
             title=u'Visibility',
             value_type=schema.Choice(vocabulary=visibilityVocabulary)
         )
plone.app.form中的小部件用于zope.formlib表单。灵巧使用z3c.form库

改用z3c.form.browser.checkbox.CheckBoxFieldWidget。像这样:

from zope import schema
from zope.schema.vocabulary import SimpleVocabulary
from zope.schema.vocabulary import SimpleTerm

from plone.directives import form

from z3c.form.browser.checkbox import CheckBoxFieldWidget

visibilityVocabulary = SimpleVocabulary(
[
    SimpleTerm(u'OSP', title=u'OSP'),
    SimpleTerm(u'BIZ', title=u'BIZ'),
])

class ISomeSchema(form.Schema):

     form.widget(visibility=CheckBoxFieldWidget)
     visibility = schema.Set(
             title=u'Visibility',
             value_type=schema.Choice(vocabulary=visibilityVocabulary)
         )

那没什么区别,那没什么区别。