CGI-BBS > SO−HO > ショッピングバスケット > Ver6.07金額表示部分の改行をなくすには?


カレッヂ
カレッヂ


質問者 miyadasu  投稿日 2/23(土) 17:40:49
初歩的なことで恐縮ですがご教授下さいませ。

V6.07の小計、送料、消費税、合計部分の改行削除するには
どこを改造すれば宜しいのでしょうか?

通常ですと以下の様にメールが送信されてくるのですが

商品名
*xxxx円
小計
*xxxx円
消費税 5%
*xxxx円
送料
*xxxx円
合計
*xxxx円

できれば、改行部分を無くして

商品名*xxxx円
小計*xxxx円
消費税 5%*xxxx円
送料*xxxx円
合計*xxxx円

と、メールが送信されるようにしたいのです。

何卒、ご教授の程、宜しく御願い申し上げます。

当方環境 Win2K IE6.0 ネスケ6.2

末筆では御座いますが・・・御礼
他の方の過去レスhttp://www.rescue.ne.jp/CGI-BBS/soho/cargo/20011008184929.shtml
の御蔭で、FORM関連の改行は削除できました事、この場を借りて
呑兵衛@大阪様に深く感謝申し上げます。

*乱文ご容赦ください。
回答者 呑兵衛@大阪  [削除]  投稿日 2/24(日) 13:52:39
過去の回答をご評価いただきありがとうございます。

ヒントです。
回答にある、 \n が改行コードです。これを付けたり取ったりすることで改行されたりされなかったりします。
また、 \n の代わりに \t を入れるとタブによる空白が作られます。
質問者 miyadasu  [削除]  投稿日 2/24(日) 15:03:05
呑兵衛@大阪様

ヒントを頂戴致しまして、光栄です。
タブにつきましても、勉強させていただき感謝申し上げます。
只今、CGI入門&サンプル集ほか買い込んで勉強中なのですが・・・
まだまだ判らない事だらけで、恥ずかしい次第です。

もう一つだけヒント下さいませんか?
場所は、やはりオーダー処理の部分なのでしょうか?

回答者 呑兵衛@大阪  [削除]  投稿日 2/25(月) 00:55:54
sub cfm では
push(@hidden,".\t合計");
push(@hidden,".\t$tsuka2$ALL2$tsuka3");
のように処理され、続いて
foreach (@hidden) {
($key,$val) = split(/\t/,$_,2);
print "<input type=hidden name=\"$key\" value=\"$val\">\n";
}
のように変形してデータを送り出し、その後デコード部分で
if ($key eq ".") {
push(@in,".$t$val");
のように@in に集めています。

sub order で
foreach (@in) {
何やかんや
if (/^\.\t(.*)/) { print OUT &jis("$1\n"); }
elsif (/(.*)\t(.*)/) { print OUT &jis("[$1]\n$2\n\n"); }

データの先頭に . \t 0個以上の文字列があれば、
「0個以上の文字列 改行コード」 を jis変換し print
そうでなくて、0個以上の文字列 \t 0個以上の文字列なら
「[最初の0個以上の文字列] 改行 後の0個以上の文字列 改行コード二つ」を jis変換し print

のようになってます。おっしゃる部分は
if (/^\.\t(.*)/) { print OUT &jis("$1\n"); }
で処理されていますので、ここの \n の処理や前段の評価で少し考えてみましょう。
単に \n を取るだけですと、購入履歴が一列に並ぶ結果になります。
なので、 sub cfm の段階で
push(@hidden,".\t合計");
push(@hidden,".\t$tsuka2$ALL2$tsuka3");
などを工夫しなければなりません。
質問者 miyadasu  [削除]  投稿日 2/25(月) 08:53:14
呑兵衛@大阪様

本当に御丁寧に御教授頂き、有難う御座います。
お蔭様で、何とか改行部分の削除が先ほど完了致しました。
(初心者に付き徹夜でしたが・・・)(^^ゞ 
本当に有難う御座いました。

貴重なお時間と適切な御指導に深く感謝申し上げます。

PS 私事では御座いますが、やはり自分で勉強する事の
重要さを痛感致しました。
これからは、自分の管理するショッピングカートは
自分でメンテナンス出来るようになりたいと思っております。

*某業者にカート作成を依頼したものの、お金だけ取られて
納品すらして貰えなかった「おばか」なWEBマスターより。

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

Web裏技