トピック このトピックに返信する
TOPIC データ「編集」ページ(edit.html)の複数化
Posted by ざくざく
at 2009/11/21(土) 11:28
分類: カスタマイズトラブル | AmigoDatabaseバージョン: ver9.85

こんにちわ。始めまして。

No3128及びNo3149の記事で、データ「登録」画面(regist.html)およびプレビュー画面の複数化はわかったのですが、データ「編集」時(edeit.html)及び編集時のプレビュー画面の複数化はどの様にしたら宜しいでしょうか?ご教示いただけると幸いです。
トピック このトピックに返信する
レス表示 古い順 新しい順 | 2件のレス 1-2 表示中
RES レスメッセージ
Posted by Bear
at 2009/11/21(土) 21:04
Re:データ「編集」ページ(edit.html)の複数化
> No3638への引用返信
> こんにちわ。始めまして。
>
> No3128及びNo3149の記事で、データ「登録」画面(regist.html)およびプレビュー画面の複数化はわかったのですが、データ「編集」時(edeit.html)及び編集時のプレビュー画面の複数化はどの様にしたら宜しいでしょうか?ご教示いただけると幸いです。

こんばんは。
データ編集ページの複数化は少し前前提が必要になります。
データ登録ページでは登録前にユーザーが「A」か「B」を選べますが、データ編集ページではその選択が出来ません。まさか「A」で編集しますか?「B」で編集しますか?なんてこと確認出来ませんからね。
よって、その編集時のページ選択は、登録されているデータ内容から判別しなければなりません。例えばデータ登録の際、「A」が「有料」で「B」が「無料」だとして、登録データにそれぞれ「有料」か「無料」が登録されていればデータ編集ページの振り分けが可能となります。

そのキーとなるデータが登録されているとしてここではご説明しますのでご了承下さい。またキーとなるデータ項目名を「Sample」と仮定し、登録されているデータが先ほどの「有料」と「無料」とします。

db-de.cgiのDataEditPartサブルーチンを修正します。
my$html=($FORM{AdminPass} ne '')?'data-edit-admin.html':'data-edit.html';
の部分を修正します。
my$html;
if($TargetData[$REC{Data}{Sample}] eq '有料'){
  $html=($FORM{AdminPass} ne '')?'data-edit-admin.html':'data-edit.html';
}elsif($TargetData[$REC{Data}{Sample}] eq '無料'){
  $html=($FORM{AdminPass} ne '')?'data-edit2-admin.html':'data-edit2.html';
}
「data-edit2-admin.html」と「data-edit2.html」を新しいデータ編集ページとしています。

プレビューページの複数化は、No3151の修正と同様です。
db-de.cgiのDataEditActサブルーチンの
&RegistPreview('data-edit-preview.html',\%{$CNF{DataItem}});
部分を修正します。
if($FORM{Phtml} == 1){
  &RegistPreview('data-edit-preview.html',\%{$CNF{DataItem}});
}elsif($FORM{Phtml} == 2){
  &RegistPreview('data-edit2-preview.html',\%{$CNF{DataItem}});
}
続いて「data-edit.html」のフォームに
<input type="hidden" name="Phtml" value="1">
を追加し、「data-edit2.html」のフォームに
<input type="hidden" name="Phtml" value="2">
を追加します。お試し下さい。
Posted by ざくざく
at 2009/11/23(月) 00:24
Re:データ「編集」ページ(edit.html)の複数化
Bear様
素早い返信誠にありがとうございました!詳細な説明で大変わかりやすく感謝しております。

連休明けに早速試してみたいと思います!
Access: 1,208,787
 
ソーシャルブックマーク: Yahoo!ブックマーク Google Bookmarks はてなブックマーク Livedoorクリップ @niftyクリップ FC2ブックマーク Buzzurl Delicious トピックイット newsing it!