シリーズSugarCRM 4.5のカスタマイズのまとめ4回目の今回は、SugarBeanを継承”する”場合についてです。
解消する場合、バージョンによって、いろいろファイル構成が違うのですが、だいたい、こんなふうに分ついできると思います。
(1)SugarBeanを継承しない場合にも必要なファイルたち
(2)データベース操作関連
モジュール名.php,vardefs.php,Save.php,Delete.phpなど
(3)表示関連
(3-1)一覧表示(ListView)と、検索
(3-2)詳細画面
(3-3)編集画面
(4)他のと関連
(4-1)サブパネル
(4-2)ポップアップ
(4-3)ダッシュレットなど、
(1)については、「SugarBeanを継承しない」場合で説明したので省略します。
今日は(2)について
■データベース操作関連
データベースを作成し、編集、追加、削除(フラグを上げる)処理をするのは、モジュールのフォルダの中にある以下のファイルです。
モジュール名.php
vardefs.php
Save.php
Delete.php
このうち、「モジュール名.php」というのは、モジュールごとにファイル名が違います。
Callsモジュールでは、Call.phpがそれにあたります。
■モジュール名.php
このモジュール名.phpファイルは、SugarBeanを継承します(たとえば、
class Call extends SugarBean {
の形)
そして、ここでは、モジュールの項目がずーっとかかれます(vardefsでも項目を書きますが、それに対応した項目名がずらっと書かれる)。
そのあと、プログラムを書くのですが、それは他のクラスを参考に書いてください。
■vardef.php
DBの項目名、インデックス、他モジュールとの関係が記述されます。
記述の仕方に関しては、既存のモジュールを参考にするか、または、
Vardefs.pdf
http://www.sugarforge.org/frs/download.php/1283/Vardefs.pdf
を参照のこと。
ここに記述されたとおりにDBを作成します。
ただし、リレーションに関しては、1対多のものはここにかかれますが、多対多に関しては、
ここでなく、metadat(モジュールの下にあるメタデータではなく、Modulesと同レベルにあるメタデータ)の下にかかれます。
■save.php,Delete.pho
追加や保存、削除のときに使われます。
saveでは、save,Deleteではmark_deletedを行えばいいので、どっかほかのモジュールから、ぱちってきても、いいかもしれません。
と、DB周りに関してはこんな感じ。
次回は問題の画面です。