J'ai un registre de panneau de contrôle personnalisé Plone et j'essaie d'utiliser une méthode bien connue pour personnaliser certaines propriétés des widgets pour zope.schema.Text
et zope.schema.TextField
.Comment personnaliser le widget z3c.form pour les champs à l'intérieur des groupes (fieldsets)
Je personnalise souvent le updateWidgets
de cette façon:
def updateWidgets(self):
super(MyEditForm, self).updateWidgets()
self.widgets['my_text_area'].style = 'width: 100%'
self.widgets['my_text_area'].rows = 7
Mais maintenant, je travaille sur un formulaire où les champs sont dans deux fieldsets en fente:
class MySettingsEditForm(controlpanel.RegistryEditForm):
schema = IMySettingsSchema
groups = (Form1, Form2)
# fields = nothing
Si je tente d'accéder self.widgets['my_text_area']
Je reçois KeyError
. Il semble que comme je n'ai pas défini l'attribut fields
, je ne peux pas accéder directement aux widgets.
Je trouve que j'ai groups
donc je peux appeler quelque chose comme self.groups[0].fields['my_text_area']
mais je ne trouve pas moyen d'accéder à des widgets pour les champs à l'intérieur des groupes.
Comment personnaliser les attributs de widgets lors de l'utilisation de groupes?
Vous ne trouvez pas les sources rapidement, mais je pense que de se rappeler, qu'il est impossible :-( –
Ah, voilà est: https://github.com/zopefoundation/z3c.form/issues/2 –
Merci @IdaEbkes! Lecture au sujet du problème et de la question SO correspondante à http://stackoverflow.com/questions/15385575/plone-4-dexterity -viewform-add-css-class-à-widget-in-fieldset-x il parle de champs cachés.J'ai des problèmes avec les champs * visible *, donc j'ai peur d'avoir manqué quelque chose pendant le débogage Restez à l'écoute ... –