Seiji Sogabe
sogab****@alles*****
2005年 6月 9日 (木) 06:36:33 JST
曽我部です。 osc_298 wrote: > 今回お聞きしたいことは、/includes/boxes/specials.phpで、ランダムに表示される数は1と思いますが、 > これを2や3にする場合はどうしたら宜しいでしょうか? catalog/includes/functions/general.phpの最後に、 > //// > // Return a random rows from a database query > function tep_random_select2($query, $num = 1) { > $random_products = array(); > $random_query = tep_db_query($query); > $num_rows = tep_db_num_rows($random_query); > if ($num_rows >= $num) { > $i = 0; > while ($i < $num) { > $random_row = tep_rand(0, ($num_rows - 1)); > tep_db_data_seek($random_query, $random_row); > $random_product = tep_db_fetch_array($random_query); > if (in_array($random_product, $random_products)) { > continue; > } else { > $random_products[] = $random_product; > $i++; > } > } > } > > return $random_products; > } を追加。 catalog/includes/boxes/specials.php 12行目に以下を追加。 > define('SPECIAL_PRODUCTS_NUM', 2); // 表示する特価商品の数 13行目の > if ($random_product = tep_random_select( を > if ($random_products = tep_random_select2( > . MAX_RANDOM_SELECT_SPECIALS)) { を > . MAX_RANDOM_SELECT_SPECIALS, SPECIAL_PRODUCTS_NUM)) { に変更。 25行目の > $info_box_contents[] = array('align' => 'center', の前に > foreach ($random_products as $random_product) { を追加。 28行目の > new infoBox($info_box_contents); の前に > } を追加。 でどうでしょうか。 変更イメージがわかりにくいので、specials.phpをZIP圧縮したものを http://bacons.ddo.jp/download/specials.zip に置きました。 # SPECIAL_PRODUCTS_NUMは、特価商品数の登録数や特価商品表示数以下である必要があります。 では。 -- sogab****@alles*****