goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

SugarCRM4.5と5.0のMVCの違い

2008-09-05 20:24:41 | SugarCRM

というのを聞いたのでメモメモ。

SugarCRM4.5の場合、たしかにMVCモデルになっていて、
M(モデル)がモジュールにおける、それぞれのSugarBean、
V(ビュー:画面)がEditView,DetailView,ListViewなど
C(コントロール)が、index.phpで、ここから各チェックがおこなわれ、
 各画面をディスパッチしていた。
 そのため、index.phpのプログラムはかなり大きく、ディスパッチ部分を修正すると
 なると、index.phpに手を入れることになるので、競合しやすかった。

SugarCRM5.0においては、
M(モデル)がモジュールにおける、それぞれのSugarBean、
V(ビュー:画面)がSugarViewで、EditView,DetailView,ListViewなど、
C(コントロール)がSugarControllerクラスで、index.phpから呼ばれる
 なので、すべてindex.phpに入ってくるところは4.5と同じなんだけど、
 5.0のindex.phpは、本当に書いてあることは少なくて、
 起動処理の多くは、SugarControllerに書かれている。

 そして、SugarCRM5.0におけるSaveなどのデフォルトの操作は、このSugarController
に定義されている。この定義以外の動作をさせたい場合は、各モジュール内に
Controller.phpを作成し、そこで、そのモジュールでの動作を記述する(つまり、
オーバーライドする)




 ビューのEditView,DetailView,ListViewに関しては、その項目などに関して、
各モジュールのmetadata内にEditViewdefs,php,DetailViewdefs,php,ListViewdefs,php
などなどあるので、そこの値を修正する・・・としてしまうと、バージョンアップで
競合してしまったりするので、カスタマイズは、customフォルダの下にmodulesがあって、
そこに修正したモジュールがあるので、そこに変更分を記述する。

 これは、スタジオで画面を編集すると、自然とそこにできる(逆に言うとスタジオでの
画面変更は、modules内の内容には影響を与えない)




 だそうな。。話はまだまだ続くが、長くなるのでまた今度

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« たしかに、ブラウザの形は四... | トップ | ケータイで「メールついたあ... »
最新の画像もっと見る

SugarCRM」カテゴリの最新記事