Plone和DataGridField的附加列
项目描述
为DatagridField Plone产品提供的一套附加的列类型。
新列
TextAreaColumn
类似于基本 Column 类型,仅显示一个 textarea HTML元素。
附加参数
- rows
默认值:3。textarea的行数。
- cols
默认值:0。textarea的列数。如果没有提供,则省略html cols 属性,并使用内联样式“width: 100%”代替。
示例
... DataGridField('foo', columns=("type", "description"), widget = DataGridWidget( columns={ 'type' : Column(_(u"Type")), 'description' : TextAreaColumn(_(u"Description"), rows=10, cols=20), }, ), ), ...
SelectColumn
类似于DataGridField产品中的默认 SelectColumn,但明确支持使用 vocabulary_factory 方式提供词汇。
附加参数
- vocabulary_factory
使用Zope组件实用工具提供已注册词汇的名称。有关更多信息,请参阅Archetypes开发手册。
- vocabulary
作为默认SelectColumn,仅当您不提供 vocabulary_factory 时才需要。使用此功能来调用上下文的方法以获取词汇。
示例
... DataGridField('foo', columns=("type", "description"), widget = DataGridWidget( columns={ 'type' : SelectColumn(_(u"Type"), vocabulary_factory='plone.app.vocabularies.PortalTypes'), 'description' : Column(_(u"Description"),), }, ), ), ...
ReferenceColumn
这是一个复杂的列类型,存储一个唯一的对象“UID”。此列的默认视图渲染将显示到引用对象的正确链接。
您可以使用不同的方式使用此功能。在更简单的示例中,只需将其用作文本列
... DataGridField('foo', columns=("uid", "comment"), widget = DataGridWidget( columns={ 'uid' : ReferenceColumn(_(u"Reference")), 'comment' : Column(_(u"Comment")), }, ), ), ...
因此,您需要自己将正确的UID存储在字段中(这不是很有趣,对吧?)。
如果您想要更多功能,可以启用一个额外的JavaScript模块,您将获得一个autocomplete引用对象的特性
... DataGridField('foo', columns=("uid", "comment"), widget = DataGridWidget( helper_js= ('datagridwidget.js', 'datagridautocomplete.js'), columns={ 'uid' : ReferenceColumn(_(u"Reference")), 'comment' : Column(_(u"Comment")), }, ), ), ...
因此,您需要将默认的 datagridwidget.js(由小部件自动提供)替换为新的 datagridautocomplete.js。这还需要 jQueryUI autocomplete。请阅读下面的“依赖项”部分。
使用autocomplete时,您可以通过两种不同的方式查询Plone
以“/”字符开始的查询将按路径查询文档,因此您可以手动浏览整个站点。
以其他字符开始的查询将执行标题的全文本查询。
附加参数
- object_provides
使用全文本查询时,仅返回提供这些接口的对象的结果。默认为空列表(无筛选)。
- surf_site
选择是否可以使用“/dir/dir/…”术语来浏览站点树。默认为True(允许)。
- search_site
选择是否可以全文查询搜索站点中的项目。默认为True(允许)。
DateColumn
一个简单的列字段,允许插入一些日期。此字段使用jQuery UI datepicker插件。
要使用datepicker插件,您需要启用jQuery UI的datepicker插件(见上面信息)并在小部件中添加一个名为 datagriddatepicker.js 的辅助js。请参阅下面的示例。
附加参数
- date_format
默认值:yy/mm/dd。要存储在字段中的日期格式。
示例
... DataGridField('foo', columns=("name", "birthday"), widget = DataGridWidget( helper_js= ('datagridwidget.js', 'datagriddatepicker.js'), columns={ 'name' : Column(_(u"Name")), 'birthday' : DateColumn(_(u"Birthday"), date_format="dd/mm/yy"), }, ), ), ...
MultiSelectColumn
基于(此包中的)SelectColumn,显示一个复选框列表并存储所选条目的列表。
附加参数:查看所有SelectColumn参数。
示例
... DataGridField('foo', columns=("recipe_name", "recipe_options"), widget = DataGridWidget( helper_js= ('datagridwidget.js', 'datagridwidget_patches.js', 'datagridmultiselect.js'), columns={ 'recipe_name' : Column(_(u"Name of the recipe"),), 'recipe_options' : MultiSelectColumn(_(u"Type"), vocabulary_factory='your.vocabulary', ), }, ), ), ...
依赖关系
此产品已在以下环境中测试
Plone 3.3 和 DataGridField 1.6
Plone 4.2 和 4.3 以及 DataGridField 1.9
jQuery版本(针对Plone 3)
参考列(ReferenceColumn)、日期列(DateColumn)和多重选择列(MultiSelectColumn)需要jQuery 1.4.2或更高版本才能运行。Plone 3.3自带jQuery 1.3。您可以自行解决这个依赖问题,或者使用第三方库。
产品提供了替代的通用设置导入步骤(“DataGridField: 注册jQuery 1.4”)。运行此步骤后,默认的Plone jQuery版本将被禁用,然后注册1.4.4版本的jQuery。
不要在Plone 4上运行此操作!
jQueryUI
参考列和日期列需要Plone提供jQueryUI库。此产品不会满足此要求,即使是依赖关系。
如果您已经在Plone网站上使用了jQueryUI(自动完成或日期选择器)的行为,您已经准备好了。如果没有,请查看collective.jqueryui.autocomplete(或阅读其文档页面以了解如何满足这一需求)。
请记住,为Plone提供jQueryUI支持的标准方式是使用collective.js.jqueryui
致谢
在以下机构的支持下开发:
它们都支持PloneGov倡议。
变更日志
0.7.0 (2015-05-22)
在多重选择列视图宏中显示所选值,而不是显示特殊字符(“V”)[gbastien]
参考列 - 添加 workflow_states 参数 [sdelcourt]
修复MANIFEST [keul]
0.6.2 (2014-02-19)
HTML验证修复。将隐藏的 div 转换为 span [keul]
0.6.1 (2014-02-06)
对字段的 title 提供软支持(见 pull request 12)[keul]
更好地实现了datagridwidget_patches.js方法 [keul]
0.6.0 (2014-01-13)
不再使用jQuery .live(),而是切换到 .delegate()。我们仍然不使用 .on() 以保持jQuery 1.4兼容性。[keul]
添加了 MultiSelectColumn 列 [keul]
0.5.1 (2013-12-12)
修复了 jq JavaScript变量中废弃的使用方法 [davidemoro]
添加了卸载配置文件 [keul]
0.5.0 (2013-09-10)
Python代码现在支持1.9.0版本中添加的新 required 方法。旧DGF版本仍然受支持 [keul]
Python代码现在支持1.9.0版本中添加的新 col_description 方法。旧DGF版本仍然受支持 [keul]
删除了对 label_msgid 的任何引用,DataGridField也没有使用(见 #9)[keul]
0.4.0 (2013-08-20)
添加了新的列:日期列(DateColumn),允许添加日期值 [cekk]
捕获 ParseError 异常 [keul]
0.3.2 (2012-10-17)
修复了由版本0.3引入的bug。见 #1 [keul]
0.3.1 (2012-06-27)
修复了manifest和readme [cekk]
0.3.0 (2012-06-27)
参考列 - 添加了基本列默认参数: default_method、label_msgid、required [cekk]
0.2.0 (2012-01-30)
参考列 - 添加了可使用单独的通用设置配置文件安装的替代jQuery库 [keul]
参考列 - 全文搜索现在限制在调用上下文的路径中 [keul]
参考列 - 执行AJAX调用的URL从 ICallingContextProvider 适配器获取。第三方产品可以提供比默认的更具体的适配器(默认适配器仍然调用门户URL)[keul]
0.1.1 (2012-01-12)
参考列 - 修复了保存空的新行时会保存随机站点内容的bug [keul]
参考列 - 添加了 surf_site 和 search_site 参数 [keul]
0.1.0 (2011-12-01)
初始发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。