CGI-BBS > SO−HO > ショッピングバスケット > 簡易バスケット注文確認ページの表示について


カレッヂ
カレッヂ


質問者 としぞ〜@OPT  投稿日 1/6(日) 18:12:46
管理人様、以下このサイトをご利用になっている皆様おめでとうございます。

早速ですが、不明点がありますので質問させて頂きます。
簡易バスケットで、住所等を記入後に確認画面へ進むわけですが、
今までは特にいじってなかったので、「注文」には
$A($C)x$Bがそのまま表示されていました。
商品名(L) x 1

ところが年末に商品名の部分を品名とカラーに分ける事にし、
colorという名称を追加した所、バスケットの中身表示はOKでしたが、
確認画面に進むと、
商品名(1) x
というように表示され順番が入れ替わってしまいました。
どうやら$Cの部分がremからamountになってしまったようです。

商品名(カラー)(サイズ) x 数量
と表示させるには、上の「$A($C)x$B」の部分をどう変更すれば良いのでしょうか?
また他にも変更する必要があるのでしょうか?
ご指導をお願い致します。

因みに類似の書き込みを探しましたが、
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20010131014321.shtml
を参考にしたところ、上手くいかなかったもので書き込みさせて頂きました。
回答者 呑兵衛@大阪  [削除]  投稿日 1/6(日) 20:30:34
関係するのは cargo.cgi 内の

208行目あたり
push(@MAIL,"$COOKIE{'goods'}:$COOKIE{'amount'}:$COOKIE{'rem'}:$COOKIE{'unit'}:$shoukei2");

256行目あたり
foreach $mail (@MAIL) {
($A,$B,$C,$D,$E) = split(/:/,$mail,5);
if ($C ne '') { print "<input type=hidden name=\"_order\" value=\"$A($C) $D円 x $B = $E円\">\n"; }
else { print "<input type=hidden name=\"_order\" value=\"$A $D円 x $B = $E円\">\n"; }
}

sub regist の
$sales = "goods:$FORM{'goods'},amount:$FORM{'amount'},unit:$FORM{'unit'},rem:$FORM{'rem'},category:$FORM{'category'},";

なります。このうち、$sales の設定を項目の変更にしたがって変えないと、
あとのすべてに反映されません。
@mail に格納されているデータの順番は保証されますので、$A、$B、$C、$D、$E がどの項目に当たるかも検証してください。
項目は、 perl で加工されたあと、HTMLのタグで表示されますので、
その変更も必要になります。
質問者 としぞ〜@OPT  [削除]  投稿日 1/6(日) 21:52:42
呑兵衛@大阪 様

早速のご指導ありがとうございます。
修正&アップし、トライさせて頂きます。
結果等ご報告致しますので、しばしお時間を頂戴します。

取り急ぎ御礼とご挨拶まで。

としぞ〜@OPT
質問者 としぞ〜@OPT  [削除]  投稿日 1/7(月) 01:55:35
呑兵衛@大阪 様

レスをつけて頂いてありがとうございます。
早速参考にさせて頂いてA〜Eの関係を確認しながら、

push(@MAIL,"$COOKIE{'goods'}:$COOKIE{'color'}:$COOKIE{'amount'}:$COOKIE'rem'}");
}

foreach $mail (@MAIL) {
($A,$B,$C,$D) = split(/:/,$mail);
print "<input type=hidden name=\"注文\" value=\"$A($B)($D) x $C\">\n";
}

のように修正した結果、ほぼ思ったような表示になりました。
確認のため何回かテストもしましたが大丈夫でした。
ご丁寧に単価と数量の掛け算まで記述して頂き、本当に感謝しています。
もっともっと勉強して少しでも呑兵衛@大阪様のレベルに近づけたらと思います。
本当にお世話になりました。ありがとうございました!

このページは終了したので返信(回答)は書きこめません

Web裏技