Plone 如何为z3cform创建新的contenttreewidget
我试图覆盖用于relateditems的小部件(Dextrity so z3cform),它是来自plone.formwidget.contenttree.widget import MultiContentTreeWidget的 我遇到的问题是,我不理解为什么我的示例试图找到IDataConverter的组件,其中没有用于contenttree小部件的IDataConverter及其父组件 代码是:Plone 如何为z3cform创建新的contenttreewidget,plone,z3c.form,Plone,Z3c.form,我试图覆盖用于relateditems的小部件(Dextrity so z3cform),它是来自plone.formwidget.contenttree.widget import MultiContentTreeWidget的 我遇到的问题是,我不理解为什么我的示例试图找到IDataConverter的组件,其中没有用于contenttree小部件的IDataConverter及其父组件 代码是: #zope 从zope导入接口 导入z3c.form.interfaces 导入z3c.for
#zope
从zope导入接口
导入z3c.form.interfaces
导入z3c.form.widget
从Products.Five.browser.pagetemplatefile导入视图pagetemplatefile
#普隆
从plone.formwidget.contenttree.interfaces导入IContentTreeWidget
从plone.formwidget.contenttree.widget导入MultiContentTreeWidget
从plone.app.relationfield.widget导入RelationListDataManager
#内部的
类DatalistManager(RelationListDataManager):
通过
类IMultiDatalistWidget(IContentTreeWidget):
“”“z3c.form的数据列表小部件标记”“”
类MultiDatalistWidget(MultiContentTreeWidget):
interface.implementsOnly(IMultiDatalistWidget)
input\u template=ViewPageTemplateFile('templates/datalist\u input.pt'))
klass=u'html5-datalist-multiselection-widget'
js_template=“”\
(函数($){
$().ready(函数()){
log('autocomplete ready?');
});
})(jQuery);
"""
def js_额外(自身):
返回“”
@实现者(z3c.form.interfaces.IFieldWidget)
def MultiDatalistFieldWidget(字段,请求):
“”“DatalistWidget的IFieldWidget工厂。”“”
返回z3c.form.widget.FieldWidget(字段,MultiDatalistWidget(请求))
以及zcml:
我曾经用这个类重写小部件,以便为webmailer启用上载功能。我认为您希望覆盖json的生成,以使jQuery兼容。非常感谢你的工作
这是我的班级:
希望能有帮助
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module plone.z3cform.layout, line 66, in __call__
Module plone.z3cform.layout, line 50, in update
Module z3c.form.form, line 208, in update
Module plone.z3cform.patch, line 21, in BaseForm_update
Module z3c.form.form, line 150, in update
Module z3c.form.form, line 134, in updateWidgets
Module z3c.form.field, line 277, in update
Module z3c.formwidget.query.widget, line 183, in update
Module z3c.formwidget.query.widget, line 230, in updateQueryWidget
Module z3c.form.browser.checkbox, line 45, in update
Module z3c.form.browser.widget, line 170, in update
Module z3c.form.widget, line 221, in update
Module z3c.form.widget, line 130, in update
TypeError: ('Could not adapt', <MultiDatalistWidget 'form.widgets.relatedItems'>, <InterfaceClass z3c.form.interfaces.IDataConverter>)