MVC

出典: SugarForum.jp

MVCの構成要素は、モデル、ビュー、そしてコントローラです。Sugarではそれぞれが

  • モデル: SugarBean + verdefs
  • ビュー: SugarView + メタファイル
  • コントローラ: SugarController (+ アクションファイル)

にあたります。

独自モジュールを作成する際、最低限必要なのは、SugarBeanを継承したBeanクラスと、verdefsファイルとlistviewdefsやdetailviewdefsなどのメタファイルです。

editview、detailview、listviewなどの標準のビューを利用する限りは、ビューやコントローラクラスのことはあまり考える必要がありません。ただし、独自のものを作る場合は、SugarViewやSugarControllerを継承したクラスを用意しなくてはなりません。

ファイルの配置

モジュール用のコントローラは、

SugarRoot/modules/@モジュール名/controller.php

に配置します。クラス名は「@モジュール名+Controller」とします。

モジュール用のビューは、

SugarRoot/modules/@モジュール名/views/view.@ビュー名.php

に配置します。クラス名は「@モジュール名+View+@ビュー名」とします。


独自アクションとビュー

Sugarでは、独自のアクションを定義するには「アクション名.php」というファイル(=アクションファイル)を、モジュールディレクトリ内に配置するというスタイルを取ってきました。例えば、Saveアクションのアクションファイルは、Save.php という具合です。アクションファイルには、処理内容が記述され、そのままビューを表示するか、他のアクション(ビュー)にリダイレクトされます。 (Sugarの古いコーディングでは、「アクション」はコントローラとビュー両方の意味を含むように思われるため、注意が必要です)

ただ、この方法ではSugarViewを利用できず、例えば、ヘッダやフッタを隠すといった細かい制御ができません。SugarViewクラスを利用した独自ビューを使うには、モジュール用の独自コントローラを配置して、ビューを指定します。例えば、Repairアクションからview.repair.phpを呼び出すには、下記のようにコントローラクラスに「action_」ではじまる関数を追加します。

function action_Repair() {
  $this->view = 'repair';//ビューにview.repair.phpを指定
}

最終更新 09:10, 2008年4月24日 (木)。   このページは 2,325 回アクセスされました。