2


SugarCE 6.0.0のModuleBuilderを 使用して、Agents という名前のカスタム モジュールを設計しています。

モジュールはアカウントに基づいています。Studio で、 Assignableセクションからassigned_user_nameをクリックして保存すると、次の 2 つのフィールドが生成されます。

  • 割り当てられたユーザー名
  • _id_c

パッケージを展開し、割り当て先フィールドからユーザー名を選択しようとすると、最初は結果がまったく取得されませんでした (オートフィルでもポップアップでも)。

custom/modulebuilder/packages/MyPackage/modules/Agents/vardefs.phpをチェックアウトしました。ここに私が見つけたものがあります:

'_id_c' => 
array (
  'required' => false,
  'name' => '_id_c',
  'vname' => '',
  'type' => 'id',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',    
  'importable' => 'true',
  'duplicate_merge' => 'disabled',
  'duplicate_merge_dom_value' => 0,
  'audited' => false,
  'reportable' => true,
  'len' => 36,
  'size' => '20',
),
'assigned_user_name' => 
array (
  'required' => true,
  'name' => 'assigned_user_name',
  'link' => 'assigned_user_link',
  'vname' => 'LBL_ASSIGNED_TO_NAME',
  'rname' => 'name',
  'type' => 'relate',
  'reportable' => true,
  'source' => 'non-db',
  'table' => 'users',
  'id_name' => '_id_c',
  'module' => '',
  'duplicate_merge' => 'disabled',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',
  'importable' => 'true',
  'duplicate_merge_dom_value' => '0',
  'audited' => true,
  'len' => '255',
  'size' => '20',
  'ext2' => '',
  'quicksearch' => 'enabled',
  'studio' => 'visible',
),

assigned_user_name のモジュールオプションが正しい値に設定されていないことに注意してください。最初の質問: これは Studio のバグですか?

私の簡単な修正は設定するmodule => 'Users'ことで、うまくいきました。ドロップダウン (自動入力) リストからユーザー名を選択できるようになりました。

ただし、ユーザー名を選択しても、非表示の_id_cフィールドにユーザーの 36 文字の UUID が入力されないため、レコードを保存してリロードすると、assigned_user_name フィールドは空白のままになります。

なぜこれが起こっているのか、誰かが考えを持っていますか? そして、これに対する救済策はありますか?

ありがとう、
m^e

4

1 に答える 1

1

これらのフィールドはすべてのモジュールが拡張する親クラスで定義されているため、vardefs でこれらを取得する必要があるとは思わないでください。デフォルトでは、これらは割り当てられたユーザーのユーザーであるフィールドです。

var $assigned_user_id;
var $assigned_user_name;
var $assigned_user_link;

コードを見て、次の設定を試すことができます。

'id_name' => 'assigned_user_id'

このフィールドに追加のフィールドを作成することは想定されていません(_id_c)

于 2011-02-12T23:58:42.697 に答える