【freo】【freoTips】【プラグイン系TIPS】同じプラグインを複数設置する方法
- 2013/09/04 14:06
- プラグイン
- 93
同じプラグインを複数設置する方法は以下のとおりです。
今回は試しに、拙宅で配布している「ニュースプラグイン」を複数設置してみます。
プラグインを複製する準備をしよう
プラグインを複製するので、まずは「ニュースプラグイン」をDLし、解凍したフォルダ名を変更しておきます。
「news」フォルダを、「oshirase」にリネームするといいでしょう。
ここでリネームする名前は、下記に説明するプラグインのIDと同一になるようにしてください。
2個目のプラグインの名前を決めよう
ニュースプラグインを元にして複製するもう一つのプラグインの名前を決めます。
決めなければいけない名前は以下の通りです。
- プラグインの説明
- プラグインの名前
- プラグインのID
- データベースのテーブル名(データベースが必要なプラグインである場合のみ必要)
そもそもニュースプラグインにおける上記の名前はそれぞれどうなっているかというと、
ニュースプラグイン | |
---|---|
プラグインの説明 | ニュースプラグイン |
プラグインの名前 | NEWS |
プラグインのID | news |
配列の変数名 | plugin_newses |
こんなかんじになっています。
どれを見ればわかるかというと、
どこを見ればわかるか | |
---|---|
プラグインの説明 | config.news.phpの12~13行目(プラグインの名前の設定)の右辺 |
プラグインの名前 | config.news.phpの12~13行目(プラグインの名前の設定)の左辺 FREO_PLUGIN_NEWS_NAMEの部分 |
プラグインのID | プラグインに内包されている各種PHP(この場合はconfig.news.phpやpage.news.php)の「.php」の前の部分 つまり、config.news.phpの部分 |
配列の変数名 | page.news.phpの125行目にある、「セットアップ | セットアップ実行」の「データベーステーブル定義」に記載されている、配列の変数名 |
このようになっています。
元になっているプラグインと同じように、新しいプラグインの各種名前を決定します。
ニュースプラグイン | 新しいプラグイン | |
---|---|---|
プラグインの説明 | ニュースプラグイン | お知らせプラグイン |
プラグインの名前 | NEWS | OSHIRASE |
プラグインのID | news | oshiase |
配列の変数名 | plugin_newses | plugin_oshirases |
基本的に、プラグインのIDと名前は単数形、配列の変数名は複数形になっています。
ですので、新しい名前もそれにならって決定しましょう。
ワンポイント
データベースのテーブル名は、単純に「プラグインID」に「s」をつけているわけではなく、英語の複数形のルールに従ってついているので注意が必要です。
例えば、プラグインIDが「link」なら、データベースのテーブル名は「links」と単純に「s」が付いているだけですが、「news」の場合は「newses」と「es」が付いています。
このように、データベースのテーブル名を決めるときには注意しましょう。
新しいプラグインの名前を設定しよう
作成した「oshirase」フォルダ内にあるファイルに、上記で決定した新しい名前を、どんどん設定していきます。
設定する順番に注意が必要ですので、下記の順に設定してみてください。
configファイルを編集する
プラグインによっては、configファイルがあります。
管理画面→各種設定で設定する設定のログファイルです。
[freo/config/plugins]フォルダ内に収納されるもので、「プラグインID.ini」という名前になっています。
今回は、「news.ini」という名前のファイルがあると思うので、それを「oshirase.ini」に変更しましょう。
PHPファイルを編集する
PHPファイルに加える編集は、下記のとおりです。
- ファイル名の編集
- ファイルの中身の編集
ひとつずつ説明します。
ファイル名の編集
まずは、ファイル名を編集しましょう。
プラグインのPHPファイルは、下記のように種類があります。
- bigin.プラグインID.php
- config.プラグインID.php
- display.プラグインID.php
- end.プラグインID.php
- page.プラグインID.php
ニュースプラグインの場合は、「config.news.php」「display.news.php」「page.news.php」の三種類で構成されています。
これらのファイルの、プラグインID(=「news」の部分)を、新しいプラグインID(=「oshirase」)に変更しましょう。
ファイルの中身の編集
各PHPファイルの中に記載されている、プラグインの説明・プラグインの名前・プラグインのID・配列の変数名を、それぞれ置換します。
順番を間違えるとうまく置換できないので、下記の順で置換することをおすすめします。
- PHPファイルを開く(ファイルを開く順番は好きにしてOKです。)
- 元の配列の変数名→新しい配列の変数名に置換する
(plugin_newses → plugin_oshirases) - 元のプラグインID→新しいプラグインIDに置換する
(news → oshirase) - 元のプラグインの名前 → 新しいプラグインの名前に置換する
(NEWS → OSHIRASE) - 元のプラグインの説明 → 新しいプラグインの説明に置換する
(ニュース → お知らせ)
このように置換しておくと、スムーズに編集ができると思います。
テンプレート(HTML)ファイルを編集する
プラグインのテンプレートが同梱されている場合は、テンプレートにも編集が必要です。
htmlファイルに加える編集は、下記のとおりです。
- フォルダ名の編集
- ファイルの中身の編集
ひとつずつ説明します。
フォルダ名の編集
まずは、テンプレートのフォルダ名を編集しましょう。
プラグインのテンプレートファイルは、プラグインIDの名前のついたフォルダに入っています。
ニュースプラグインの場合は、「news」というフォルダの中に各種テンプレートが入っています。
このフォルダを、新しいプラグインID(=「oshirase」)に変更しましょう。
ファイルの中身の編集
各テンプレートファイルの中に記載されている、プラグインの説明・プラグインの名前・プラグインのID・配列の変数名を、それぞれ置換します。
順番を間違えるとうまく置換できないので、下記の順で置換することをおすすめします。
- テンプレートファイルを開く(ファイルを開く順番は好きにしてOKです。)
- 元の配列の変数名→新しい配列の変数名に置換する
(plugin_newses → plugin_oshirases) - 元のプラグインID→新しいプラグインIDに置換する
(news → oshirase) - 元のプラグインの名前 → 新しいプラグインの名前に置換する
(NEWS → OSHIRASE) - 元のプラグインの説明 → 新しいプラグインの説明に置換する
(ニュース → お知らせ)
このように置換しておくと、スムーズに編集ができると思います。
filesフォルダを編集する
プラグインにfilesフォルダが同梱されている場合は、下記の編集が必要です。
編集内容は下記のとおりです。
フォルダ名の編集
filesフォルダ内の各フォルダの名前のプラグインID部分を編集します。
- [files/plugins/プラグインID_files]フォルダ
- [files/temporaries/plugins/プラグインID_files]フォルダ
上記のようなフォルダがある場合、フォルダ名の「プラグインID」部分を、新規に設定したプラグインIDに変更します。
ファイル名の編集
filesフォルダ内の各ファイルのファイル名のプラグインID部分を編集します。
- [files/plugins/プラグインID.log]
上記のようなファイルがある場合、ファイル名の「プラグインID」部分を、新規に設定したプラグインIDに変更します。
mailsフォルダを編集する
プラグインにmailsフォルダが同梱されている場合は、下記の編集が必要です。
編集内容は下記のとおりです。
フォルダ名の編集
mailsフォルダ内の各フォルダの名前のプラグインID部分を編集します。
- [mails/plugins/プラグインID]フォルダ
上記のようなフォルダがある場合、フォルダ名の「プラグインID」部分を、新規に設定したプラグインIDに変更します。
ファイル名の編集
mailsフォルダ内の各ファイル内の変数を編集します。
- [mails/plugins/プラグインID/任意の名前.txt]
上記のようなファイルがある場合、ファイルの内容を確認し、変数を利用している箇所があれば、該当箇所のプラグインIDを変更するなどの編集を行ってください。
プラグインをアップロードしてセットアップしよう
すべての編集は終了です。
新たなプラグインをアップロードして、必要な場合はセットアップしてください。
[freo/index.php/oshirase]にアクセスして、正常に稼働していれば複製完了です。
ニュースプラグイン以外にも、プラグインを複製利用したいときは基本的にこの手順で複製できますのでぜひご活用ください。