У меня есть настраиваемый реестр панели Plone, и я пытаюсь использовать хорошо известный метод для настройки некоторых свойств виджетов для zope.schema.Text
и zope.schema.TextField
.Как настроить виджет z3c.form для полей внутри групп (поля)
Я обычно настроить updateWidgets
именно таким образом:
def updateWidgets(self):
super(MyEditForm, self).updateWidgets()
self.widgets['my_text_area'].style = 'width: 100%'
self.widgets['my_text_area'].rows = 7
Но сейчас я работаю над формой, в которой поля расщепленного в двух fieldsets:
class MySettingsEditForm(controlpanel.RegistryEditForm):
schema = IMySettingsSchema
groups = (Form1, Form2)
# fields = nothing
Если я пытаюсь получить доступ к self.widgets['my_text_area']
Я получаю KeyError
. Кажется, что, поскольку я не определил атрибут fields
, я не могу получить доступ непосредственно к виджетам.
Я обнаружил, что у меня есть groups
, поэтому я могу назвать что-то вроде self.groups[0].fields['my_text_area']
, но все же я не вижу доступа к виджетам для полей внутри групп.
Как настроить атрибуты виджета при использовании групп?
Не могу найти источники быстро, но я думаю, помнить, что это не возможно :-( –
Ах, вот это is: https://github.com/zopefoundation/z3c.form/issues/2 –
Спасибо @IdaEbkes! Чтение проблемы и связанный с ней вопрос SO по адресу http://stackoverflow.com/questions/15385575/plone-4-dexterity -viewform-add-css-class-to-widget-in-fieldset-x говорит о скрытом поле. У меня проблемы с полями * visible *, поэтому я боюсь, что я пропустил что-то во время отладки. Оставайтесь с нами ... –