【freo】【freoTips】【プラグイン系TIPS】ニュースプラグインとかの添付ファイルを増やす方法
- 2015/06/11 12:16
- バナー付きリンクプラグイン
- ニュースプラグイン
- スケジュールプラグイン
- 同人イベントプラグイン
- ショッピングカートプラグイン
- プロフィール拡張プラグイン
- ファイル
- 71
当サイトで配布しているニュースプラグインや、バナー付きリンクプラグイン、スケジュールプラグイン、同人イベントプラグインなどは、添付ファイルを登録することができます。
下記の方法を利用すれば、添付ファイルを増やすことができます。
(freo公式で配布されているプロフィール拡張プラグイン、サークル管理プラグイン、ショッピングカートプラグインなども、下記の方法でファイルを増やすことは出来ると思いますが、動作の保証はいたしかねます。)
PHPを編集して登録できるファイル数を増やす
まずは、PHPを編集して登録できるファイル数を増やしましょう。
編集するPHPは、ファイル数を増やしたいプラグインに同梱されている「page.プラグインID.php」です。
(ニュースプラグインの場合なら、[freo/libs/freo/plugins/page.news.php]です)
- page.プラグインID.phpをエディタで開く
- 「//ファイル番号定義」で検索する。(2箇所以上あると思うので注意すること。)
- $numbersがファイル数を決める配列になっているので、下記を参考にしてファイル数を増やす。
現状、//ファイル番号定義 $numbers = array('', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10');
//ファイル番号定義 $numbers = array('', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10','11','12','13','14','15','16','17','18','19','20');
- ファイルを上書き保存してアップデートする。
設定ファイルを編集して登録できるファイルの名前を設定項目を増やす
次に、iniファイルを編集して登録できるファイルの名前の設定項目を増やしましょう。
編集するiniファイルは、ファイル数を増やしたいプラグインに同梱されている「プラグインID.ini」です。
(ニュースプラグインの場合なら、[freo/configs/plugins/config.news.ini]です)
- news.iniファイルをエディタで開く
- 上部の「;」から始まる行が設定項目の内容を定義している箇所なので、たとえば11~20件目を増やしたいなら、、
;file01_name char(30) ;file02_name char(30) ~ 中略 ~ ;file09_name char(30) ;file10_name char(30)
;file11_name char(30) ;file12_name char(30) ;file13_name char(30) ;file14_name char(30) ;file15_name char(30) ;file16_name char(30) ;file17_name char(30) ;file18_name char(30) ;file19_name char(30) ;file20_name char(30)
- 下部の「[ファイル]」以降の行が実際に管理画面→設定管理→各プラグインの設定画面で表示される項目箇所なので、たとえば11~20件目を増やしたいなら、
[ファイル] ;ファイル01の名前 file01_name = "ファイル1" ;ファイル02の名前 file02_name = "ファイル2" ~中略~ ;ファイル09の名前 file09_name = "" ;ファイル10の名前 file10_name = ""
;ファイル11の名前 file11_name = "ファイル1" ;ファイル12の名前 file12_name = "ファイル2" ;ファイル13の名前 file13_name = "" ;ファイル14の名前 file14_name = "" ;ファイル15の名前 file15_name = "" ;ファイル16の名前 file16_name = "" ;ファイル17の名前 file17_name = "" ;ファイル18の名前 file18_name = "" ;ファイル19の名前 file19_name = "" ;ファイル20の名前 file20_name = ""
- ファイルを上書き保存してアップデートする。
テンプレートを編集して記事編集フォームにファイルを登録する部品を増やす
最後に、テンプレートを編集して、各プラグインの記事編集フォームにファイルを登録するための部品を増やしましょう。
編集するテンプレートは、ファイル数を増やしたいプラグインに同梱されている「admin_form.html」です。
「form.html」が存在するなら、そちらも下記の通り編集する必要があります。
(ニュースプラグインの場合なら、[freo/templates/plugins/admin_form.html]です)
- [admin_form.html]をエディタで開く。
<form action="{$freo.core.http_file}/プラグインID/admin_form{if $freo.query.id}?id={$freo.query.id}{/if}" method="post" enctype="multipart/form-data">~</form>
内部にファイルを登録するための参照ボタンを増やす。
たとえば、<h3>添付ファイル</h3> <dl> <!--{if $freo.config.plugin.プラグインID.file01_name}--> <dt>{$freo.config.plugin.プラグインID.file01_name}</dt> <dd> <input type="file" name="plugin_プラグインID[file01]" size="30" /> <!--{if $input.plugin_プラグインID.file01}--> <input type="checkbox" name="plugin_プラグインID[file01_remove]" id="label_file01" value="{$input.plugin_プラグインID.file01}"{if $input.plugin_プラグインID.file01_remove} checked="checked"{/if} /> <label for="label_file01">{$input.plugin_プラグインID.file01}を削除</label> <input type="hidden" name="plugin_プラグインID[file01]" value="{$input.plugin_プラグインID.file01}" /> <!--{/if}--> </dd> <!--{/if}--> ~中略~ <!--{if $freo.config.plugin.プラグインID.file10_name}--> <dt>{$freo.config.plugin.プラグインID.file10_name}</dt> <dd> <input type="file" name="plugin_プラグインID[file10]" size="30" /> <!--{if $input.plugin_プラグインID.file10}--> <input type="checkbox" name="plugin_プラグインID[file10_remove]" id="label_file10" value="{$input.plugin_プラグインID.file10}"{if $input.plugin_プラグインID.file10_remove} checked="checked"{/if} /> <label for="label_file10">{$input.plugin_プラグインID.file10}を削除</label> <input type="hidden" name="plugin_プラグインID[file10]" value="{$input.plugin_プラグインID.file10}" /> <!--{/if}--> </dd> <!--{/if}--> </dl>
<dl>~</dl>
内部に、のように加筆する。<!--{if $freo.config.plugin.プラグインID.file11_name}--> <dt>{$freo.config.plugin.プラグインID.file11_name}</dt> <dd> <input type="file" name="plugin_プラグインID[file11]" size="30" /> <!--{if $input.plugin_プラグインID.file11}--> <input type="checkbox" name="plugin_プラグインID[file11_remove]" id="label_file11" value="{$input.plugin_プラグインID.file11}"{if $input.plugin_プラグインID.file11_remove} checked="checked"{/if} /> <label for="label_file11">{$input.plugin_プラグインID.file11}を削除</label> <input type="hidden" name="plugin_プラグインID[file11]" value="{$input.plugin_プラグインID.file11}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file12_name}--> <dt>{$freo.config.plugin.news.file12_name}</dt> <dd> <input type="file" name="plugin_news[file12]" size="30" /> <!--{if $input.plugin_news.file12}--> <input type="checkbox" name="plugin_news[file12_remove]" id="label_file12" value="{$input.plugin_news.file12}"{if $input.plugin_news.file12_remove} checked="checked"{/if} /> <label for="label_file12">{$input.plugin_news.file12}を削除</label> <input type="hidden" name="plugin_news[file12]" value="{$input.plugin_news.file12}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file13_name}--> <dt>{$freo.config.plugin.news.file13_name}</dt> <dd> <input type="file" name="plugin_news[file13]" size="30" /> <!--{if $input.plugin_news.file13}--> <input type="checkbox" name="plugin_news[file13_remove]" id="label_file13" value="{$input.plugin_news.file13}"{if $input.plugin_news.file13_remove} checked="checked"{/if} /> <label for="label_file13">{$input.plugin_news.file13}を削除</label> <input type="hidden" name="plugin_news[file13]" value="{$input.plugin_news.file13}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file14_name}--> <dt>{$freo.config.plugin.news.file14_name}</dt> <dd> <input type="file" name="plugin_news[file14]" size="30" /> <!--{if $input.plugin_news.file14}--> <input type="checkbox" name="plugin_news[file14_remove]" id="label_file14" value="{$input.plugin_news.file14}"{if $input.plugin_news.file14_remove} checked="checked"{/if} /> <label for="label_file14">{$input.plugin_news.file14}を削除</label> <input type="hidden" name="plugin_news[file14]" value="{$input.plugin_news.file14}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file15_name}--> <dt>{$freo.config.plugin.news.file15_name}</dt> <dd> <input type="file" name="plugin_news[file15]" size="30" /> <!--{if $input.plugin_news.file15}--> <input type="checkbox" name="plugin_news[file15_remove]" id="label_file15" value="{$input.plugin_news.file15}"{if $input.plugin_news.file15_remove} checked="checked"{/if} /> <label for="label_file15">{$input.plugin_news.file15}を削除</label> <input type="hidden" name="plugin_news[file15]" value="{$input.plugin_news.file15}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file16_name}--> <dt>{$freo.config.plugin.news.file16_name}</dt> <dd> <input type="file" name="plugin_news[file16]" size="30" /> <!--{if $input.plugin_news.file16}--> <input type="checkbox" name="plugin_news[file16_remove]" id="label_file16" value="{$input.plugin_news.file16}"{if $input.plugin_news.file16_remove} checked="checked"{/if} /> <label for="label_file16">{$input.plugin_news.file16}を削除</label> <input type="hidden" name="plugin_news[file16]" value="{$input.plugin_news.file16}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file17_name}--> <dt>{$freo.config.plugin.news.file17_name}</dt> <dd> <input type="file" name="plugin_news[file17]" size="30" /> <!--{if $input.plugin_news.file17}--> <input type="checkbox" name="plugin_news[file17_remove]" id="label_file17" value="{$input.plugin_news.file17}"{if $input.plugin_news.file17_remove} checked="checked"{/if} /> <label for="label_file17">{$input.plugin_news.file17}を削除</label> <input type="hidden" name="plugin_news[file17]" value="{$input.plugin_news.file17}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file18_name}--> <dt>{$freo.config.plugin.news.file18_name}</dt> <dd> <input type="file" name="plugin_news[file18]" size="30" /> <!--{if $input.plugin_news.file18}--> <input type="checkbox" name="plugin_news[file18_remove]" id="label_file18" value="{$input.plugin_news.file18}"{if $input.plugin_news.file18_remove} checked="checked"{/if} /> <label for="label_file18">{$input.plugin_news.file18}を削除</label> <input type="hidden" name="plugin_news[file18]" value="{$input.plugin_news.file18}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.news.file19_name}--> <dt>{$freo.config.plugin.news.file19_name}</dt> <dd> <input type="file" name="plugin_news[file19]" size="30" /> <!--{if $input.plugin_news.file19}--> <input type="checkbox" name="plugin_news[file19_remove]" id="label_file19" value="{$input.plugin_news.file19}"{if $input.plugin_news.file19_remove} checked="checked"{/if} /> <label for="label_file19">{$input.plugin_news.file19}を削除</label> <input type="hidden" name="plugin_news[file19]" value="{$input.plugin_news.file19}" /> <!--{/if}--> </dd> <!--{/if}--> <!--{if $freo.config.plugin.プラグインID.file20_name}--> <dt>{$freo.config.plugin.プラグインID.file20_name}</dt> <dd> <input type="file" name="plugin_プラグインID[file20]" size="30" /> <!--{if $input.plugin_プラグインID.file20}--> <input type="checkbox" name="plugin_プラグインID[file20_remove]" id="label_file20" value="{$input.plugin_プラグインID.file20}"{if $input.plugin_プラグインID.file20_remove} checked="checked"{/if} /> <label for="label_file20">{$input.plugin_プラグインID.file20}を削除</label> <input type="hidden" name="plugin_プラグインID[file20]" value="{$input.plugin_プラグインID.file20}" /> <!--{/if}--> </dd> <!--{/if}-->
- ファイルを上書き保存してアップデートする。
注意事項
上記手順でファイルを登録する数を増やすことはできますが、いざファイルを一括登録する時には、サーバーのphp.iniの設定に注意しなければなりません。
サーバーによっては、1度にアップロードできるファイル数、また、アップロードできるファイルサイズに制限がある場合があります。
詳しくは、freoを設置しているサーバーの、php.iniの下記項目をご確認ください。
max_file_uploads … 最大アップロードファイル数
post_max_size … POSTデータの最大サイズ(合計サイズ)
upload_max_filesize … 1ファイルあたりの最大アップロードサイズ