8.データーの登録・編集の複数化
@必要なフォルダーを作成 | |
![]() |
@ data-regist(データ登録) data-regist-preview(データ登録のプレビュー) data-edit(データ編集) 上記のフォルダー作成します。 |
A必要なページ数を作成 |
![]() |
![]() |
B登録ページ作成
・lib/template内にdata-registディレクトリを作成
・中にdata-regist.html、data-regist01.html、data-regist02.html、data-regist03.html(各登録フォーム)を作成
※デフォルトのdata-regist.htmlもdefault.htmlとして入れておく
・db-data.cgiの288行目(Ver9.16)
@MyUrl and $LinkChkMode and &Secure(1);
の次行からの
if($FORM{Who} eq 'Admin'){ &Html('data-regist-admin.html') }
else{ &Html('data-regist.html') }}
を
if($FORM{Who} eq 'Admin'){ $html='data-regist-admin.html' }
else{ $html=$FORM{html} ne '' ? $FORM{html} : 'default.html' }
&Html("data-regist/$html");}
のように変更
・後は登録画面呼び出し時にdatabase.cgi?cmd=dr&html=data-regist.htmlのように指定すればOKです
default.html(名前) これも作成しておく必要があります。 |
![]() |
C登録データのプレビューを作成、
次に複数化した各登録ページ(html)に
<INPUT type="hidden" name="html" value="data-regist-preview/data-regist-preview.html">
<INPUT type="hidden" name="EditHtml" value="data-edit.html">
追加する。
・db-data.cgiの288行目(Ver9.16)
@MyUrl and $LinkChkMode and &Secure(1);
の次行からの
if($FORM{Who} eq 'Admin'){ &Html('data-regist-admin.html') }
else{ &Html('data-regist.html') }}
を
if($FORM{Who} eq 'Admin'){ $html='data-regist-admin.html' }
else{ $html=$FORM{html} ne '' ? $FORM{html} : 'default.html' }
&Html("data-regist/$html");}
のように変更
db-data.cgiの307行目(Ver9.16)
&RegistPreview('data-regist-preview.html',\%{$CNF{DataItem}}) if($FORM{Preview});
を
if($FORM{Preview}){
$html=$FORM{html} ne '' ? $FORM{html} : 'default.html';
&RegistPreview($html,\%{$CNF{DataItem}});
}
と変更すれば出来るかと思います。
D登録データの編集作成
登録時にHTMLファイル名をデータとして記録し
<INPUT type="hidden" name="html" value="data-edit-preview/data-edit-preview.html">
<INPUT type="hidden" name="EditHtml" value="data-edit.html">
db-data.cgiの366行目からの(Ver9.16)
if($FORM{AdminPass} ne ''){ &Html('data-edit-admin.html') }
else{ &Html('data-edit.html') }}
を
if($FORM{Who} eq 'Admin'){ $html='data-edit-admin.html' }
else{ $html=$TargetData[$REC{Data}{*****}] ne '' ? $TargetData[$REC{Data}{*****}]
: 'default.html' }
&Html("data-edit/$html");}
と変更すれば自動的にデータ毎に適切な編集フォームになるかと思います。
db-data.cgiの387行目からの(Ver9.16)
&RegistPreview('data-edit-preview.html',\%{$CNF{DataItem}}) if($FORM{Preview});
を
if($FORM{Preview}){
$html=$FORM{html} ne '' ? $FORM{html} : 'default.html';
&RegistPreview($html,\%{$CNF{DataItem}});
}
(※*****部分はHTMLファイル名のデータ項目名)
E管理認証での追加 NEW
追加項目を書き忘れていましたね。
【管理者認証】→【データ種類追加】で
追加対象:データファイル
データ種類:「EditHtml」
データ名称: (空欄)
登録データ: (空欄)
このように登録します。
-----------------------------------------------------------------------------------