在sugarcrm自定义模块中创建一个文件类型字段

时间:2011-04-05 06:07:40

标签: sugarcrm

我有一个自定义模块样本管理。我想在editviewdef.php中创建一个文件类型字段,以便我可以上传文件并在需要时从详细视图中下载。有人会告诉我如何进行这项任务的步骤吗?

2 个答案:

答案 0 :(得分:1)

您需要做的是通过以下方式创建自定义SugarField类型:

  1. 在include / SugarFields / Fields
  2. 中创建一个包含字段类型名称的新文件夹
  3. 在该文件夹中,您需要创建一个.tpl文件来描述如何为每种视图类型设置字段(因此您将拥有EditView.tpl,DetailView.tpl以及您将使用的任何其他视图领域)。我会在/ include / SugarFields / Fields / Text中查找你应该创建的tpls的一个很好的例子。
  4. 使用该类型创建新字段,或使用vardefs或field_meta_data表(对于自定义字段)将字段类型从其现有类型更改为新类型。
  5. 我绝对可以验证SugarCRM 6.4.1中存在文件字段类型,一旦定义了字段的布局方式,您就应该能够与CRM的其余部分无缝地使用它。

答案 1 :(得分:1)

如果您是通过Module Builder创建模块,只需添加'file'=> 1,到$ config变量(config.php)中的'templates'数组。然后,您就可以在editviewdefs.php中添加新的上传文件字段:

      1 =>
      array (
        'name' => 'uploadfile',
        'displayParams' =>
        array (
          'onchangeSetFileNameTo' => 'document_name',
        ),
      ),

不要忘记将form和javascript元素添加到editviewdefs.php中的templateMeta数组中:

  'form' =>
  array (
    'enctype' => 'multipart/form-data',
    'hidden' =>
    array (
    ),
  ),
  'javascript' => '<script type="text/javascript" src="include/javascript/popup_parent_helper.js?s={$SUGAR_VERSION}&c={$JS_CUSTOM_VERSION}"></script>
    <script type="text/javascript" src="include/javascript/sugar_grp_jsolait.js?s={$SUGAR_VERSION}&c={$JS_CUSTOM_VERSION}"></script>
    <script type="text/javascript" src="modules/Documents/documents.js?s={$SUGAR_VERSION}&c={$JS_CUSTOM_VERSION}"></script>',

您还需要将uploadfile字段添加到detailvidefs.php:

      1 =>
      array (
        'name' => 'uploadfile',
        'displayParams' =>
        array (
          'link' => 'uploadfile',
          'id' => 'id',
        ),
      ),

希望这有帮助!