データのインポート

出典: SugarForum.jp

注意: 2008年5月公開予定のSugarCE 5.1.0では、Importモジュールが大幅に書き換えられました。下記の方法は動作しない可能性があります。詳細は調査中。


独自モジュールにデータのインポート機能を追加するには、Importモジュールに手を加える必要があります。現在、アップグレードセーフな方法は提供されていません。

こちらの記事も参考になります。

http://developers.sugarcrm.com/wordpress/2008/06/11/enabling-import-on-a-custom-module-in-sugar-50/

目次

インポート用クラスの作成

Importモジュールディレクトリ内に、下記のファイルを作成します。

SugarRoot/modules/Import/Import@モジュールのクラス名.php

クラス名は「Import<モジュールのクラス名>」とし、モジュールのBeanクラスを拡張します。

class ImportYourBean extends YourBean {
  //
  var $special_functions =array(
    //ここにインポート用の関数の名前を並べる
  );
  //...省略。その他の設定項目、インポート用の関数宣言など。
}

詳しくは、既存モジュール用のクラスファイルを見てください。

設定ファイルへの追加

SugarRoot/modules/Import/config.php

を開き、下記の太字部分を追加。

$import_bean_map = array(
 'Contacts' => 'ImportContact'
,'Accounts' => 'ImportAccount'
,'Opportunities' => 'ImportOpportunity' 
,'Leads' => 'ImportLead'
,'Notes' => 'ImportNote'
,'Prospects' => 'ImportProspect'
,'YourModule' => 'ImportYourBean'//あなたのカスタムモジュール用
);
//...省略


アクションの追加

カスタムモジュールに、Importアクションを登録します。モジュールのディレクトリに、Import.phpを作成し、

include('modules/Import/index.php');

として、Importモジュールを呼び出すようにします。

メニューの追加

カスタムモジュール内の、Menu.phpを編集して、インポート用のメニューを追加します。

if(ACLController::checkAccess('YourModule', 'import', true))
  $module_menu[] = Array("index.php?module=YourModule&action=Import&step=1&return_module=YourModule&return_action=index",
  $app_strings['LBL_IMPORT'],
  "Import",
  'YourModule');

最終更新 14:53, 2008年6月13日 (金)。   このページは 2,953 回アクセスされました。