記事No | : 9873 |
投稿日 | : 2011/12/23(Fri) 04:31:24 |
タイトル | : webmart 登録商品の並べ替え |
ID情報 | : bamboohh |
投稿者 | : haru |
URL | : http://www.bamboo-work.net/ |
Web Mart v1.7を使用しております。
過去ログで [3438] webmart 登録商品の並び替え http://www.kent-web.com/support/old/66/0164.html がありましたが、私が同じ方法でやると商品コードがバラバラに表示されてしまいます。
下記の通りにやったんですが。
●●●●●●●●●●●●●●
mart_admin.cgi 265行目付近
@tax = ('税別','税込み');
$i=0;
open(IN,"$datfile") || &error("Open Error : $datfile");
#▼ここから▼
# 商品コード順に表示
@file = <IN>;
foreach $file (@file) {
$i++;
($code,$name,$price,$intax,$plus1,$plus2) = split(/<>/,$file);
$price = &comma($price);
$code{$i} = $code;
$name{$i} = $name;
$price{$i} = $price;
$intax{$i} = $intax;
$plus1{$i} = $plus1;
$plus2{$i} = $plus2;
}
foreach (sort { ($code{$a} <=> $code{$b}) } keys(%code)) {
print "<tr><th class=r>
<input type=checkbox name=code value=\"$code{$_}\"></th>
<td class=r>$code{$_}</td><td class=r><b>$name{$_}</b></td>
<td align=right class=r>\\$price{$_} ($tax[$intax])</td>\n";
# 在庫
if ($stock) {
if (!defined($stock{$code{$_}})) { $stock{$code{$_}}=0; }
print "<td align=right class=r>$stock{$code{$_}}</td>";
#▲ここまでを入替▲
}
print "</tr>\n";
}
close(IN);
●●●●●●●●●●●●●●
別の場所を変えなくてはならないのでしょうか?
なにとぞよろしくお願いいたします。
記事No | : 9875 |
投稿日 | : 2011/12/24(Sat) 10:07:02 |
タイトル | : Re: webmart 登録商品の並べ替え |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
商品コードが0001、0002のように同じ桁の数字の場合のみコード番号順に並びます。
アルファベット順にするには
foreach (sort { ($code{$a} <=> $code{$b}) } keys(%code)) {
↓
foreach (sort { ($code{$a} cmp $code{$b}) } keys(%code)) {
記事No | : 9883 |
投稿日 | : 2011/12/25(Sun) 07:02:57 |
タイトル | : Re^2: webmart 登録商品の並べ替え |
ID情報 | : bamboohh |
投稿者 | : haru |
ご回答ありがとうございます。
早速やってみたところアルファベット順に並びました。
ありがとうございました。