Как я могу создать пользовательское поле загрузки файла в opportunities

#sugarcrm #sugarbean

#sugarcrm #sugarbean

Вопрос:

Я работаю с sugar 8.3. Я пытаюсь создать пользовательское поле для загрузки документов. Я создал файл vardef, но когда я нажимаю сохранить запись, файл загружается правильно, но не отображается в записи.

custom/Extension/modules/Opportunities/Ext/Vardefs/custom_upload.php

 <?php

$GLOBALS['dictionary']['Opportunity']['fields']['filename'] = array (

     'name' => 'filename',
     'vname' => 'LBL_FILENAME',
     'type' => 'file',
     'dbType' => 'varchar',
     'len' => '255',
     'reportable' => true,
     'comment' => 'File name associated with the note (attachment)',
     'importable' => false,
     'source' => 'non-db',
     'docUrl' => 'doc_url',
);

$GLOBALS['dictionary']['Opportunity']['fields']['file_mime_type'] = array(

     'name' => 'file_mime_type',
     'vname' => 'LBL_FILE_MIME_TYPE',
     'type' => 'varchar',
     'len' => '100',
     'comment' => 'Attachment MIME type',
     'importable' => false,
     'source' => 'non-db',
);

$GLOBALS['dictionary']['Opportunity']['fields']['file_url'] = array (
    'name'=>'file_url',
    'vname' => 'LBL_FILE_URL',
    'type'=>'varchar',
    'source'=>'non-db',
    'reportable'=>false,
    'comment' => 'Path to file (can be URL)',
    'importable' => false,

);
  

Перед сохранением скриншота вложения

После сохранения скриншота вложения

Комментарии:

1. Вы должны быть более конкретными. Что вы пробовали? Что пошло не так? Включайте фрагменты конфигурации и файлов журналов по мере необходимости.

Ответ №1:

Весь сценарий не очень понятен из предоставленного вами кода, я думаю, что вам следует удалить ‘source’ =>’non-db’, атрибут из этих полей, чтобы они были сохранены в базе данных.

Не забудьте выполнить исправление и выполнить запросы, которые генерируются в результате исправления, чтобы sugarсоздал соответствующие поля в таблице opportunities для сохранения загруженных вами данных файла.