モジュールの手動インストール

出典: SugarForum.jp

モジュールの開発時など、モジュールローダを使用せずに手動でファイルの配置を行う場合について説明します。

目次

下準備

独自モジュールを、SugarRoot/modules/に配置し、Beanファイルのパスなどを確認しておきます。なお、配置しただけではSugarはそのモジュールを認識しません。下記の手順を踏んで、アプリケーションに組み込む必要があります。ここでは、モジュール名を仮に「stocks」(在庫)とします。

パッケージ名の設定

モジュール名称の他に、パッケージ名を決めておく必要があります。プロジェクトの名称(ex. 'SomeProject')や、会社名(ex. 'CogniTom')などから取ると良いでしょう。ここでは、パッケージ名を仮に「FirstPackage」として説明します。

モジュールの定義

下記のパスにファイルを作成します。上位ディレクトリが存在しない場合は、適宜作成します。

SugarRoot/custom/Extension/application/Ext/include/@パッケージ名.php

「@パッケージ」の部分は、適宜置き換えてください。ここでは、FirstPackage.php とします。作成したファイルに、下記を記述します。複数形('Stocks')と単数形('Stock')に気をつけて下さい。(参考: Sugarソースコードの歩き方#単数形と複数形)

<?php
$moduleList[] = 'Stocks'; 
$beanList['Stocks'] = 'Stock';
$beanFiles['Stock'] = 'modules/Stocks/Stock.php';
?>
  • 上記は、モジュール名が'Stocks'の場合ですので適宜置き換えて下さい。
  • 複数モジュールを定義する場合は、上記に続けて書き足していきます。

言語ファイル

モジュール内で使う文字列($mod_strings)は、基本的に SugarRoot/modules/@モジュール名/language/ja.lang.php に記述しますが、モジュールそのものの名称などは、アプリケーション全体から参照する必要があるため、$app_strings$app_list_strings に定義する必要があります。下記パスにファイルを作成し、

SugarRoot/custom/Extension/application/Ext/Language/ja.@パッケージ名.php

以下のコードを記述します。

<?php
$app_list_strings["moduleList"]["Stocks"] = '在庫';
$app_list_strings["moduleListSingular"]["Stocks"] = '在庫';
?>

日本語ではあまり単数・複数を区別しないので、両方とも「在庫」としていますが、英語用の言語ファイルも準備する場合は、

SugarRoot/custom/Extension/application/Ext/Language/en_us.@パッケージ名.php

に、

<?php
$app_list_strings["moduleList"]["Stocks"] = 'Stocks';
$app_list_strings["moduleListSingular"]["Stocks"] = 'Stock';
?>

などと記載しておきます。なお、日本語環境のみで使用する場合、英語用の言語ファイルは作成しなくても問題ありません。


(続く)


最終更新 03:57, 2008年10月12日 (日)。   このページは 2,387 回アクセスされました。