Line 11:
Line 11:
{{TemplateDocDevEn}}
{{TemplateDocDevEn}}
−
Dolibarr向け新規 モジュール/アドオン を作成するには, 複数のステップがある. このチュートリアルで説明するのは、Dolibarrの特質拡張用モジュールを作るステップのそれぞれである, 以下の1つとか、複数の組み合わせとかのように :
+
Dolibarr向け新規 モジュール/アドオン を作成するには, 複数のステップがある. このチュートリアルで記述するのは、Dolibarrの特質拡張用モジュールを作るステップのそれぞれである, 以下の1つとか、複数の組み合わせとかのように :
*データベースに新規テーブルを追加.
*データベースに新規テーブルを追加.
Line 46:
Line 46:
=自前モジュールを作る=
=自前モジュールを作る=
−
==自前モジュールに関するモジュール説明(Module descriptor)を作る (必須)==
+
==自前モジュールに関するモジュール記述(Module descriptor)を作る (必須)==
'''必須となる時期''': アドオンを開発すると早急に必要、たとえゴールが何であれ (例外はスキンの追加).
'''必須となる時期''': アドオンを開発すると早急に必要、たとえゴールが何であれ (例外はスキンの追加).
−
'''Dolibarr 9.0 から, モジュールビルダ (ModuleBuilder) モジュールを使用すべきだ、モジュール説明を生成するための標準モデルとして使える'''
+
'''Dolibarr 9.0 から, モジュールビルダ (ModuleBuilder) モジュールを使用すべきだ、モジュール記述を生成するための標準モデルとして使える'''
−
===自前のモジュール説明 (module descriptor) を作成する===
+
===自前のモジュール記述 (module descriptor) を作成する===
−
最初のステップは、モジュールに対するファイル説明 (file descriptor) を作成すること. (訳者注: 以下の内容は'''モジュールビルダを使うことで自動設定'''される)
+
最初のステップは、モジュールに対するファイル記述 (file descriptor) を作成すること. (訳者注: 以下の内容は'''モジュールビルダを使うことで自動設定'''される)
*ディレクトリ作成: '''/htdocs/custom/''mymodule''/core/modules''' (外部モジュール向け) または '''/htdocs/''mymodule''/core/modules''' ここはDolibarr の公式コアモジュール (official core module) とする場合. 次にファイル modMyModule.class.php をディレクトリ '''htdocs/modulebuilder/template''' からコピーして上記のディレクトリに作成. ファイルの名称を modMyModule.class.php から 自前モジュールの目的に合致した名称に変更. ファイル名は、先頭に 'mod' があり、最後が .class.php で終わる (例えば、ファイル名を '新名' にするなら, 'mod新名.class.php' となる).
*ディレクトリ作成: '''/htdocs/custom/''mymodule''/core/modules''' (外部モジュール向け) または '''/htdocs/''mymodule''/core/modules''' ここはDolibarr の公式コアモジュール (official core module) とする場合. 次にファイル modMyModule.class.php をディレクトリ '''htdocs/modulebuilder/template''' からコピーして上記のディレクトリに作成. ファイルの名称を modMyModule.class.php から 自前モジュールの目的に合致した名称に変更. ファイル名は、先頭に 'mod' があり、最後が .class.php で終わる (例えば、ファイル名を '新名' にするなら, 'mod新名.class.php' となる).
Line 64:
Line 64:
自前モジュールのファイルディスクリプタの準備ができた。有効化するには次ステップを参照.
自前モジュールのファイルディスクリプタの準備ができた。有効化するには次ステップを参照.
−
===自前説明をテストする===
+
===自前記述をテストする===
Dolibarrを起動し、'''設定->モジュール (Setup->module'''?) ページを表示.
Dolibarrを起動し、'''設定->モジュール (Setup->module'''?) ページを表示.
−
モジュール説明でプロパティバージョン (property version) を設定すると、自前の新規モジュールを載せた新規行とそれを有効化するかどうかの選択が表示されるはず. プロパティバージョンを "develop" または "experimental" に設定した場合、自前モジュールを見るには、まず '''設定->その他 (Setup-Others)''' に行き、 MAIN_FEATURES_LEVEL を 1 に設定してから "experimental" モジュールを見るか、2にして から "development" モジュールを見るかする必要がある.
+
モジュール記述でプロパティバージョン (property version) を設定すると、自前の新規モジュールを載せた新規行とそれを有効化するかどうかの選択が表示されるはず. プロパティバージョンを "develop" または "experimental" に設定した場合、自前モジュールを見るには、まず '''設定->その他 (Setup-Others)''' に行き、 MAIN_FEATURES_LEVEL を 1 に設定してから "experimental" モジュールを見るか、2にして から "development" モジュールを見るかする必要がある.
==新規モジュールファイルに関するパスツリー (必須)==
==新規モジュールファイルに関するパスツリー (必須)==
Line 76:
Line 76:
==自前 SQL テーブル と PHP DAO クラス (任意)==
==自前 SQL テーブル と PHP DAO クラス (任意)==
−
'''When''': If your module needs to manage data of its own
+
'''使用場面''': 自前モジュールがそれ自身のデータを管理する必要がある場合
−
===Create your .sql file===
+
===自前の .sql ファイルを作成===
−
If your module is designed to manage data of its own, which are not available in the standard version of Dolibarr, it is necessary to define SQL tables to store the data.
+
自前モジュールが、Dolibarr標準版では利用できない独自データを管理する設計である場合、そのデータを格納するためのSQLテーブルを定義する必要がある.
−
Scripts for creating tables and loading data by your own module are saved into a subdirectory sql ('''"mymodule/sql"''') of your module. (With ModuleBuilder, the directory and all sql files will be created automatically when you will create a new Object from tab Object).
+
自前モジュールでテーブルを作成したり、データを読込むためのスクリプトは、自前モジュールのsqlサブディレクトリ ("'''mymodule/sql'''") に保存される。(ModuleBuilder では、オブジェクト タブから新しいオブジェクトを作成するとき、このディレクトリとすべての sql ファイルが自動作成される).
−
Then check into your descriptor file, into function '''init''' that the line
+
次に、記述ファイルでの、'''init''' 関数にて、次の行
<syntaxhighlight lang="php">$this->_load_tables('/mymodule/sql/');</syntaxhighlight>
<syntaxhighlight lang="php">$this->_load_tables('/mymodule/sql/');</syntaxhighlight>
−
is not commented.
+
が、コメントでないことを確認する.
−
''Rules to follow:''
+
''従うべきルール:''
−
*Add the files about creating tables commands on the principle of a file '''llx_matable.sql''' per table, with a possibly file '''llx_matable.key.sql''' (see existing files in '''install/mysql/tables''' for examples).
+
*テーブルごとに '''llx_matable.sql''' ファイルを1つ、'''llx_matable.key.sql''' ファイルを可能なら1つ、作成するという原則に基づき、テーブル作成コマンドのファイルを追加する(例として、 '''install/mysql/tables''' にあるファイルを参照).
−
*The recommended type and name for SQL fields are defined into page [[Language_and_development_rules#Table_and_fields_structures]].
+
*SQLフィールドの推奨される型と名前は、このページに定義されてる [[Language_and_development_rules#Table_and_fields_structures]].
−
*To manage data, you must create a file called '''data.sql''' inside directory '''/mymodule/sql/''' that contains SQL command to add/edit/delete data.
+
*データ管理のため、 '''/mymodule/sql/''' ディレクトリ内に '''data.sql''' というファイルを作成し、データの追加/編集/削除を行う SQL コマンドを記述すること.
−
*Don't use the double quote for strings (eg 'chaine' not "chaine") because the double quote have a specific meaning in PostGreSQL
+
*文字列にダブルクォートを使わない(例: "chaine" でなく 'chaine') ダブルクォートは PostGreSQL では特定の意味を持つ
Example of content of a file data.sql
Example of content of a file data.sql