我正在使用Sugar CRM CE。在商机的编辑视图中,有一个+按钮和一个 - 按钮来添加或删除电子邮件字段。这允许您在编辑视图中单击+并添加其他电子邮件字段。如何将此类功能添加到其他自定义字段?感谢
答案 0 :(得分:2)
您搜索在另一个模块中添加n个相关条目的方法。
据我所知,没有开箱即用的解决方案。
但我做了类似的事情,将来自另一个模块的多个字段集成到编辑视图中,以便更快地生成产品订单。
在您的情况下,首先将javascript添加到{MODULE} /metadata/editviewdefs.php:
$viewdefs[{MODULE}] = array (
'EditView' => array (
'includes' => array (
array (
'file' => 'modules/{MODULE}/js/selectScript.js'
)
在这个文件modules / {MODULE} /js/selectScript.js中你放了一些javascript来生成按钮(即在描述字段之后通过jquery定位它们)。脚本应该将所有相关信息添加到隐藏的文本字段(即名为websites_json)中,其中包含例如JSON,如下所示:
{'websites' : ['www.somethin.it', 'www.somethingelse.com']}
如果您必须处理此信息以在另一个模块中创建多个对象,您可以在(custom /)modules / {MODULE} /Save.php中添加一个文件,您可以在其中处理javascript创建的数据,方法是创建相关的条目。您可以通过$ _REQUEST [' websites_json']访问json。然后你可以做它需要做的事情。
在您只添加网站的情况下,您可以在主模块vardefs中添加一个文本字段来保存网站列表。因此,将其添加到模块的vardef以创建db字段:
$dictionary['{MODULE}'] = array(
'table' => '{module}',
'fields' => array(
'websites_json' => array (
'name' => 'websites_json',
'vname' => 'LBL_WEBSITES_JSON',
'type' => 'text',
),
该字段会自动保存。在重新进入editview时,您应该重新创建网站列表以进行编辑,在详细视图中,您需要处理json以将网站显示为列表。