忍者ブログ
初心者でも、CGIの知識が無くてもWebデータベースを作れるAmigoDatabase。その使い方を解説します。
18
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

「ユーザAとユーザBで検索結果の詳細ページを違うものにしたい」という要件があったので、かなり面倒くさいやり方ですが、とりあえず下記の要領でやってみました。


■条件
・ユーザAとユーザBで、検索結果の詳細ページを違うものにする
・さらに正しく言うと、ユーザAは全項目表示するが、ユーザBは一部の項目のみ表示する
・検索結果一覧は同じ項目でOK
・ユーザBは検索・閲覧のみで、編集・登録はしない

■作業概要
・検索ページを2種類用意する(ユーザA用、ユーザB用)
・Readme.txtに従い、各テンプレート・その他を修正する
(※将来の変更要求の可能性を踏まえ、検索結果一覧も別々に用意する)

■作業詳細

1)検索ページを2種類作成します
ユーザA用:searchA.html
ユーザB用 :searchB.html

2)それぞれの検索ページ内の下記の部分を修正する

<INPUT type="hidden" name="HTML" value="●●●">
<INPUT type="hidden" name="DataHtml" value="●●●">

●ユーザA用:searchA.html
<INPUT type="hidden" name="HTML" value="resultA.html">
<INPUT type="hidden" name="DataHtml" value="HtmlA">
●ユーザB用 :searchB.html
<INPUT type="hidden" name="HTML" value="resultB.html">
<INPUT type="hidden" name="DataHtml" value="HtmlB">

3)検索結果一覧ページを2種類用意する(\\lib\template\resultフォルダ内)
ユーザA用:resultA.html
ユーザA用 :resultB.html
(※表示する項目は同じで良いので、ファイル名が違うだけで中身は同一)

4)詳細ページを2種類作成する(\\lib\template\data-part\dataフォルダ内)
ユーザA用:dataA.html
ユーザB用 :dataB.html

5)db-html.cgiの「検索結果一覧」欄を編集し、2種類作成する
●ユーザA用
sub HtmlA
詳細ページへのリンクに「&dp=dataA.html」を追加する
<A href="$BaseDir/$MainCGI?cmd=dp&Tfile=$FORM{Tfile}&num=$VD[$REC{Data}{DataNum}]&dp=dataA.html">
●ユーザB用
sub HtmlB
詳細ページへのリンクに「&dp=dataB.html」を追加する
<A href="$BaseDir/$MainCGI?cmd=dp&Tfile=$FORM{Tfile}&num=$VD[$REC{Data}{DataNum}]&dp=dataB.html">


とりあえず力技でやっつけたわけですが、もっとスマートな方法があったら知りたいです。。。
PR
お名前
タイトル
文字色
URL
コメント
パスワード
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Trackback URL
Copyright c タコでもできる! AmigoDatabase All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]