2016-01-30 47 views
1

我正在使用Sugar CRM CE。在机会编辑视图中,有一个+按钮和一个 - 按钮来添加或删除电子邮件字段。这允许您在编辑视图中单击+并添加其他电子邮件字段。我如何将这种类型的功能添加到其他自定义字段?谢谢如何在编辑模式下添加字段? SugarCRM CE

回答

2

您可以搜索一种方法在另一个模块中添加n个相关条目。

我的知识没有开箱即用的解决方案。

但我做了类似的工作,将另一个模块的多个字段集成到一个editview中,以使产品订单更快。

在你的情况首先JavaScript添加到{} MODULE /metadata/editviewdefs.php:

$viewdefs[{MODULE}] = array (
    'EditView' => array (
    'includes' => array (
     array (
      'file' => 'modules/{MODULE}/js/selectScript.js' 
    ) 

到这个文件的模块/ {} MODULE你/js/selectScript.js放一些JavaScript生成按钮(即通过在描述字段之后通过jquery定位它们)。该脚本应该添加的所有相关信息到包含例如JSON这样一个隐藏的文本字段(即命名websites_json):

{'websites' : ['www.somethin.it', 'www.somethingelse.com']} 

如果你必须处理这些信息在其他模块中创建多个对象,你可以添加一个文件在(custom /)模块/ {MODULE} /Save.php中,通过创建相关条目来处理创建的JavaScript数据。您可以通过$ _REQUEST ['websites_json']访问json。那么你可以用它做什么需要做的事情。

对于只有网站添加的情况,您可以简单地在主模块vardefs中添加一个文本框来保存网站列表。因此,将此添加到模块的vardefs中以创建db字段:

$dictionary['{MODULE}'] = array(
    'table' => '{module}', 
    'fields' => array(
     'websites_json' => array (
      'name' => 'websites_json', 
      'vname' => 'LBL_WEBSITES_JSON', 
      'type' => 'text', 
     ), 

该字段会自动保存。在重新进入编辑视图,你应该重新创建网站列表来编辑它,并在详细信息视图中,您需要处理JSON以将网站显示为列表。

+0

我可以使用递增的值自动执行此操作吗?那样的话,将不会有有限数量的字段编码? – Damund

+0

你不受限于这种方式,文本字段json可以容纳尽可能多的项目作为用户添加 – pauel

+0

好吧,听起来不错。我不确定如何构建在Sugar中创建字段的js文件。要清楚我不知道如何做到这一点。有没有可以指引我的参考?我在Sugar中发展很新。我只是试图将网址存储在文本字段(http://www.someaddress.com/)中,并允许用户根据需要添加尽可能多的网址。 – Damund

相关问题