1

在基于原型的内容类型中,如果在选择字段上使用的词汇表的项目数量少于一定数量(5,IIRC),则使用的小部件是单选按钮输入而不是选择列表。

在基于敏捷的内容类型中没有这样的行为,并且总是使用选择列表。

有没有办法强制单选按钮输入?

我测试了以下但没有工作,我找不到任何可用的文档:

from z3c.form.browser.radio import RadioWidget

class IMyType(form.Schema):
    form.widget(my_field=RadioWidget)
    my_field = schema.Choice(
        title=_('My field'),
        vocabulary=my_choices,
        required=True,
    )

我正在使用 Plone 4.2 和 plone.autoform 1.3。

4

1 回答 1

1

您可以在 plone.autoform 1.4 及更高版本中指定这样的自定义小部件。

在 plone.autoform 的早期版本中,您需要指定一个“字段小部件”(一个在调用时产生小部件的可调用对象)而不是小部件类。(plone.autoform 1.4 支持其中之一,以及其文档中涵盖的其他一些内容。)在这种情况下,您将使用 z3c.form.browser.radio.RadioFieldWidget。

于 2013-07-12T16:46:09.873 回答