2013-07-11 60 views
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和1.3 plone.autoform。

+1

您使用的是什麼版本的plone.autoform?這應該工作,如果你有plone.autoform 1.4和autoform啓用表單。使用較早的版本,您需要指定RadioFieldWidget。 SteveM已經實現了一個改進的小部件,像Archetypes一樣自動選擇其格式,但尚未合併。 –

+0

它的工作,謝謝!請將您的評論轉換爲答案,以便我可以接受:-) – hvelarde

回答

1

您可以在plone.autoform 1.4及更高版本中指定一個像這樣的自定義小部件。

在早期版本的plone.autoform中,您需要指定一個「字段控件」(調用時會生成一個控件的可調用對象)而不是控件類。 (plone.autoform 1.4支持其中的一個,以及其他文檔中介紹的其他內容)。在這種情況下,您可以使用z3c.form.browser.radio.RadioFieldWidget。

+1

謝謝,我認爲問題在於我正在導入RadioWidget而不是RadioFieldWidget。 – hvelarde

相關問題