モジュールフレームワーク概要
出典: SugarForum.jp
目次 |
はじめに
最初から入っているモジュールも、モジュールローダで追加したモジュールも、みなSugarRoot/modules/フォルダに格納されます。典型的なモジュールは、データベースへのアクセスと、レコードを作成・編集・削除するためのユーザインターフェースを持ちます。(「Contacts」モジュールなど)
それでは、モジュールフレームワークがSugarプラットフォーム全体にどのように組み入れられているか見ていきましょう。
アクションの種類
プラットフォーム概要では、アプリケーション呼び出しの一例として、特定のモジュールでの典型的な詳細ビュー(DetailView)のアクションを示しましたが、モジュールには5つの主なアクションが存在します。
- ListView/index : ListViewとindexは基本的に同じアクションを指します。典型的なindexアクションはListViewのラッパーとして動き、ListViewアクションを内部的に呼び出します。これらのアクションは、モジュールのメインとなる画面を提供し、ユーザが検索や一覧表示、エクスポート、一括更新できるようにします。Sugarで上部に表示されるタブをクリックすると、ユーザに表示されるのがこの画面です。
- DetailView : 通常、DetailViewはListViewで項目をクリックすると表示される、詳細情報を表示する画面です。DetailViewには、特定のオブジェクトについての詳細が「読み出しのみ(read only)」で提供されます。また、オブジェクトそのものだけではなく、サブパネルと呼ばれる関連項目のリストも一緒に表示されることがあります。サブパネルは、DetailViewで表示している親オブジェクトに関連する項目についての、ミニListViewのような働きをします。(例えば、取引先モジュールのDetailViewでは、そこに所属する取引先担当者の一覧が、サブパネルとして表示されるわけです)
- EditView : EditViewはユーザがレコードを追加したり編集するための画面です。
- Save : ユーザがEditViewで「保存」ボタンをクリックすると呼び出されます。
- Delete : ユーザがDetailViewで「削除」ボタンをクリックすると呼び出されます。
カスタムアクション
これら以外のアクションを用意する場合は、同名のPHPファイルを用意しておく必要があります。例えば、'action=MyCustomAction'として呼び出すと、Sugarは'MyCustomAction.php'ファイルをモジュールディレクトリから読み込もうとします。(ファイルが存在しない場合はエラーとなります)
簡単なモジュールの例
では、実際に簡単なモジュールの例を見ていきましょう。
(執筆中...。英語版の内容がSugarCE5.0に対応していないので、新たに例題を考えなくては...)