【发布时间】:2019-03-13 19:43:41
【问题描述】:
在工作室中,我在一个模块中创建了一些字段,我还在布局中添加了这些字段。但我想根据选择显示字段,例如:如果用户从下拉字段中选择 option-1 那么它必须只显示三个字段,如果用户选择 option- 2 从下拉字段然后它必须显示说六个字段。所以我需要在布局字段中添加一些条件。但我在那里找不到任何选择..请帮我找出答案。 我还附上了下面的示例图片。
【问题讨论】:
在工作室中,我在一个模块中创建了一些字段,我还在布局中添加了这些字段。但我想根据选择显示字段,例如:如果用户从下拉字段中选择 option-1 那么它必须只显示三个字段,如果用户选择 option- 2 从下拉字段然后它必须显示说六个字段。所以我需要在布局字段中添加一些条件。但我在那里找不到任何选择..请帮我找出答案。 我还附上了下面的示例图片。
【问题讨论】:
如果您使用的是 Sugar 7.6,我可以提供帮助,
如果我没记错的话,您想根据下拉值更改字段。 为此,您必须修改“record.js”和“create-actions.js”文件中的代码。只写一个js函数。 这是 crerate-action.js 的示例
({
extendsFrom: 'CreateActionsView',
initialize: function (options) {
this.model.on("change:dropdown", this.renderFields, this);
},
renderFields: function () {
// write your code here
},
})
【讨论】:
您需要修改视图定义以将脚本添加到模块的编辑视图中。
示例:
$viewdefs ['<Module Name>'] =
array(
'<View Name>View' =>
array(
'templateMeta' =>
array(
...
'includes' =>
array(
0 =>
array(
'file' => 'path/to/your/script.js',
),
1 =>
array(
'file' => 'path/to/your/script.js',
),
),
...
),
...
),
...
);
然后您可以使用 jQuery 或任何 javascript 库来隐藏或显示字段。如果您使用的是 SuiteR 或 SuiteP 主题,您可以简单地向元素添加/删除隐藏类。
只需确保将所有要显示或隐藏的字段添加到视图中即可。
要进行此升级保存修改或创建
【讨论】:
sugarcrm 中有很多定义的方式,因为你已经创建了新的字段,所有你需要添加对这些字段的依赖,比如
$dictionary['YOUR_MODULE_NAME']['fields']['YOUR_FIELD_NAME']['dependency']='(equal($YOUR_DROPDOWN,"OPTION_1"))
这也可以通过 Studio 添加。 转到 Studio > 模块 > 字段 > YOUR_FIELD > Dependent 并添加依赖项。
【讨论】: