基于敏捷的内容类型的单选按钮小部件?

时间:2013-07-11 18:54:50

标签: plone dexterity

在基于Archetypes的内容类型中,如果选择字段上使用的词汇表少于特定数量的项目(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。

1 个答案:

答案 0 :(得分:1)

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

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