CGI-BBS > SO−HO > ショッピングバスケット > バスケットver4の改造で備考欄に任意のデータを表示させたい


カレッヂ
カレッヂ


質問者 Mack  投稿日 11/26(火) 18:25:21
ショッピングバスケットVer4.0でCSVから取り込んでいる備考欄の
内容をHTMLからデータを送り表示させてたいと考えています。

ショッピングバスケットVer5.0のようにHTML上でポップアップなどを利用し、
選択されたものを備考欄に表示させたいのです。

かなり改良をしているので、どうしてもなんとかしたいのですがいい方法はないでしょうか?

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:Terapad
FTPソフト:FFFTP
サーバ移転:していない
改造:している
CGI習熟度:middle

回答者 呑兵衛@大阪  [削除]  投稿日 11/26(火) 21:31:33
つまり、「備考欄」というテキスト入力ボックスを作りたい、ということですね。
V4 では data.csv を読み込み出力後、商品の複数選択が可能、V5 では商品ファイルから
直接出力、商品の複数同時選択は対応なし。
V4にもHTML商品ファイルはありますが、データの処理形式が異なるためテキスト入力ボッ
クスをV4に持たせるには、csvデータの一部を入力されたデータにすりかえる作業が必要
です。
たとえば rem3 というラベルを専用のデータの受け皿にした場合、商品コードごとにルー
プ処理されるcsv は $rem3{$name} = $valueに取り込まれますが、この$name は商品コー
ドです。
HTMLにラベルrem3をおいても、すなおに$rem3{$name} = $valueには取り込まれません。
最初に$in{$name} = $value には値は取り込まれますが、商品コードと整合性を持たせる
必要があります。この場合、独立したtext データとして商品コードは存在しますが、
$rem3{$name} = $value と関わりを持たせるには、ループ処理後に、先に分解しておいた
$rem3{商品番号} = '入力された文字列'にすりかえる、という具合です。
分解作業が1段階、すりかえ2段階です。
質問者 Mack  [削除]  投稿日 11/26(火) 23:44:14
呑兵衛@大阪さん、いつもありがとうございます。
なかなか出来なかったのは$nameは商品コードだったのですね。

分解作業が1段階、すりかえ2段階 とありますが、たとえば他のバージョンの
ショッピングバスケットを参考にして出来るようなものでしょうか?
回答者 呑兵衛@大阪  [削除]  投稿日 11/27(水) 18:31:49
残念ながらおまへん。
データの解析パターンにそれぞれ違いがあり、このV4の兄弟はV3ですが、されたいことを実現する
参考にはならないです。
このバージョンは、CSVファイルという静的なファイルに対し、商品番号と個数のみを記録した
一時ファイル、その一時ファイル名を照合するcookieデータによって、
それぞれのシーンで照合と分析、出力が行われます。
仮に 商品ページ.html で備考欄に記入しかごに入れても、その動作だけで備考欄のデータは用済みになり、
form でデータを運び続け、すり替え続けないと最後まで持ちまへん。
perl のごく基本的なインタープリータ機能を学びたいのならお付き合いしても良いですが、
できれば、ちょっぴり解説 Rescue.cgi にお越しくだされ。
ただし、シェアウェア登録を確認できることが条件です。
質問者 Mack  [削除]  投稿日 11/27(水) 19:00:25
お返事ありがとうございます。
やはり簡単には行かないのですね・・・・。
この際なので本格的にCGIを勉強してみようとも思っています。
(いつも手を加えるだけで終わらせているので)

早速ちょっぴり解説 Rescue.cgiに行きます!
シェアウエア登録もしてあります!

どのようにしたらよろしいですか?
回答者 呑兵衛@大阪  [削除]  投稿日 11/28(木) 18:58:48
ちょっぴり解説の「Shopping Basketをカスタマイズ」の該当のバージョンの説明をお読みくだされ。

返信(回答)する


Web裏技