一个 Archetypes 小部件,用于控制编辑页面上其他字段的词汇或显示
项目描述
概述
这是一个 Archetypes 小部件,用于控制编辑页面上其他字段的词汇或显示。需要向它提供有关控制哪些字段以及如何控制它们的信息。
要安装它,只需将其解压缩到您的产品目录中,重新启动 zope,然后使用 QuickInstaller 安装它。
用法
要使用它,只需创建一个字段,如:
StringField(
name='master_field',
default='',
vocabulary=DisplayList(
(('week', 'Week'),
('wedding','Wedding'),
('winona','Winona'),
('winter', 'Winter'),
('weather','Weather'),
('cow', 'Cow'),
),
),
widget=MasterSelectWidget(
label='Test Widget',
description='Test this',
slave_fields=(
{'name': 'slave_field_name',
'action': 'vocabulary',
'vocab_method': 'mySlaveVocabularyMethod',
'control_param': 'my_method_parameter',
},
),
),
),
您可以使用与普通 SelectWidget 兼容的任何字段类型。您可以使用任何普通的 SelectWidget 参数(“格式”除外,它必须设置为“选择”)。它的外观和行为类似于普通的 SelectWidget,但此小部件的更改将影响 slave_fields 参数中描述的小部件。
参数
所有的魔法都发生在 slave_fields 参数中,它应该是一个映射序列。每个映射都是对该主字段控制的字段的描述:
- 姓名
选择更改时要控制的字段的名称。除非使用“词汇”或“值”操作,否则受控字段/小部件可以是任何类型。当操作为“词汇表”时,该字段必须使用 MultiSelectionWidget、SelectionWidget 或 MasterSelectWidget,其中任何一个都必须将“格式”参数设置为“选择”(这仅是 MasterSelectWidget 的默认设置)。对于“值”,小部件必须足够简单,以便使用 element.value 或 elem.selectedIndex(StringWidget、SelectionWidget、AutoCompleteWidget 等)更改当前值。
- 行动
要在从属字段上执行的操作类型。这可以是“词汇表”,它使用 XMLHttpRequest 调用改变从属字段的词汇表;'hide' 或 'show' 设置从属字段的可见性样式属性;“启用”或“禁用”将目标小部件标记为启用或禁用;或“值”,它使用 XMLHttpRequest 调用在选择更改时更改另一个简单小部件 (StringWidget) 的值。要使用“词汇”操作,从属字段必须满足上述小部件要求。要使用“启用”/“禁用”操作,该字段必须使用可以启用/禁用的 HTML 小部件。
- 词汇方法
调用以检索从属字段的动态词汇表的方法的名称,或使用“值”时从属字段的值。对于“词汇表”,这必须返回一个 DisplayList。对于'value,它必须返回一个字符串或msg_id。该方法必须接受一个参数,该参数将用于传递在主窗口小部件中选择的新值。此参数的名称默认为“master_value”,但可以使用任何名称,只要使用 control_param 元素指定即可。仅与 'action':'vocabulary' 或 'action':'value' 一起使用。当与 archetypes.schemaextender 一起使用时,词汇方法可以在模式扩展类上定义。
- 切换方法
当满足切换从属字段的激活或可见性的条件时调用返回 True 的方法的名称。该方法必须接受一个参数,该参数将用于传递在主窗口小部件中选择的新值。此参数的名称默认为“master_value”,但可以使用任何名称,只要使用 control_param 元素指定即可。仅与 'action':'hide'、'action':'show'、'action':'enable'、'action':'disable' 一起使用。当与 archetypes.schemaextender 一起使用时,可以在模式扩展类上定义切换方法。
- 控制参数
如上所述,这是调用 vocab_method 时使用的参数名称。仅与 'action':'vocabulary' 或 'action':'value' 一起使用。
- 隐藏值
一系列值,当在主小部件中选择时,会导致从属字段/小部件被隐藏、显示或禁用。使用的方法由“action”元素决定。仅与 'action':'hide'、'action':'enable'、'action':'disable' 或 'action':'show' 一起使用。
单个 MasterSelectWidget 可以控制任意数量的从属字段,通过向 slave_fields 列表/元组添加新映射来控制新字段。作为 MasterSelectWidget 操作目标的字段本身可以使用 MasterSelectWidget 来控制其他字段。
这个包还提供了一个 MasterMultiSelectWidget,为多选小部件提供相同的功能。
MasterSelectDemo 类型包括许多不同配置的主从小部件。
要启用演示类型,请转到 portal_setup,点击Import选项卡,选择 MasterSelectWidget 演示配置文件,然后单击底部的Import all steps按钮。
享受!
学分
- 作者
亚历克米切尔:apm13 @哥伦比亚。教育
- 贡献者
Dorneles Tremea:deo @ plonesolutions 。com
变更日志
0.4.9 (2017-02-03)
修复了 @@masterselect-jsonvalue-vocabulary 不输出标签的问题。[三鹰]
0.4.8 (2015-08-06)
修复 'hide_values' 参数转换。[sdelcourt]
0.4.7 (2015-08-06)
添加机器人测试。[sdelcourt]
修复启用/禁用功能。[sdelcourt]
添加 MasterMultiSelectWidget [sdelcourt]
0.4.6 (2014-06-10)
使用“快速”jQuery 转换来显示/隐藏从属字段。
不要在初始化时检查未定义的复选框(需要 jQuery > 1.6)(修复https://github.com/plone/Products.MasterSelectWidget/issues/1)[fRiSi ]
0.4.5 (2011-10-10)
尝试使用嵌入式 json (Python 2.6+)。[托马斯德韦南]
避免在启动时出现警告。[托马斯德韦南]
修复了 ajax 词汇值翻译。[托马斯德韦南]
可以在 archetypes.schemaextender 扩展类上定义词汇 ajax 方法。[托马斯德韦南]
0.4.4 - 2010-04-16
由于 jQuery 更改,修复了 Plone 4.0 中的主布尔小部件问题。(修复http://plone.org/products/masterselectwidget/issues/1)[alecm ]
固定演示内容(由于 registerType 和 FTI 中的产品名称不同,自 0.4.3 起无法添加)[fRiSi]
0.4.3 - 2010-03-15
更正从属字段中选定值的缺失返回 [danipessanha]
与最新原型版本的兼容性(registerType的包参数 不再是可选的,参见http://dev.plone.org/archetypes/changeset/11184#file4)[fRiSi ]
0.4.2 - 2009-04-01
更正 .browser.MasterSelectJSONValue.getVocabulary [alecm] 中缺少的返回值
0.4.1 - 2009-03-24
重新发布,坏蛋上传。[埃尔罗]
0.4 - 2009-03-24
允许更轻松地对视图进行子分类。[埃尔罗]
0.3 - 2009-03-19
转换成鸡蛋 [mj]
将配置(皮肤、演示类型)移至 GenericSetup 配置文件。[兆焦耳]
在演示中添加了 MasterBooleanWidget。[兆焦耳]
重构 javascript 以使用 jQuery 和 AJAX 结果视图。[兆焦耳]
添加了对更新 kupu 从属字段的简单支持。[安德]
添加 MasterBooleanWidget [gawel]
用浏览器视图替换旧的 dtml [gawel]
更新了文档,进行了一些一般性的小清理,并为新的“显示”/“启用”操作添加了示例。[deo]
添加了新的“启用”操作,仅当在主字段中选择特定值时才激活从属字段。[deo]
添加了新的“显示”操作,仅当在主字段中选择特定值时才显示从属字段。[deo]
确保在使用动态词汇表时保持初始选择的值。[deo]
0.2.2 - 2005-11-09
修复了一些 IE 错误并隐藏使用 display=”none” 从页面中删除元素。感谢 Yuta Kashino 指出这些。[阿莱姆]
添加了使用简单小部件更改 StringFields 值的新操作。感谢 Joachim Koenig-Baltes 的想法和补丁。[阿莱姆]
0.2.1 - 2005-06-17
修复了隐藏某些小部件类型时导致不必要的 js 警报的错误。[阿莱姆]
0.2 - 2005-06-16
添加了对隐藏和禁用布尔和 InAndOut 等复合小部件的支持。[阿莱姆]
添加了单个主服务器在单个从服务器上应用多个操作的能力。现在,主小部件可以隐藏和更改从属字段的词汇表。只需为所需的每个操作向 slave_fields 添加一个条目。[阿莱姆]
使 getXMLSelectVocab 接受返回列表或元组的方法,而不仅仅是 DisplayLists。DisplayLists 是首选。[阿莱姆]
0.1 - 2005-06-15
初始签入,准备测试。[阿莱姆]
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。