我有一个基于灵活性的内容类型,在架构中定义了不同的编辑 View 和字段集。每当我想更新第一个字段集中的另一个小部件/字段时,它就会变得很糟糕。例如:
self.groups[0].fields['my_field'].mode = HIDDEN_MODE
必须用于从第二字段集中隐藏my_field
。使相同的字段成为必填
self.schema['my_field'].required = True
就可以了。
但是如何将 css 类添加到第一个字段集之外的另一个窗口小部件中?我的意思是,什么
self.fields['my_field_on_first_fieldset'].widget.addClass("myClass")
如果我的小部件位于第一个字段集“页面”上,就可以了。
最佳答案
已关注 Martin Aspeli's tutorial ,我测试了你的请求并且可以确认奇怪的是 klass-attribute 不能应用于子字段集中的不可见小部件,返回引用小部件名称的“关键错误”。
对于其他属性,例如'尺寸',没有问题。
相反,您可以通过 Javascript 应用该类。
如果您想在客户端未启用 Javascript 的情况下提供后备,您可以在 updateWidget() 中添加一个条件,检查它是否已启用,如果未启用,则分别使用 addClass() 和 klass- 应用该类属性。这将起作用,因为所有字段都显示并且不再隐藏。
关于Plone 4 dexterity viewform - 将 css 类添加到字段集 X 中的小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15385575/