[Tep-j-general] 数量非表示で「今すぐ購入」&「入荷待ち」ボタンを切り替え

Back to archive index

Kobayashi yuki-****@kmail*****
2006年 2月 27日 (月) 16:24:59 JST


商品一覧ページの「今すぐ購入ボタン」の表示を
在庫有りの場合:「在庫数を上限としたプルダウン」&「今すぐ購入ボタン」
在庫無しの場合:「入荷待ちボタン」のみ
という表示にしたいと考えています。
そこで、

/includes/product_listing.phpの以下の部分
case 'PRODUCT_LIST_BUY_NOW':
  $lc_align = 'center';
  $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $listing['products_name'] . TEXT_NOW) . '</a>&nbsp;';
  break;
を以下のように変更しました。

case 'PRODUCT_LIST_BUY_NOW':
  $lc_align = 'center';
  //---在庫数によるプルダウン表示切替------------------------
  for ($i=0; $i<$listing['products_quantity']; $i++) {
  $qty_array[] = array('id' => $i+1, 'text' => $i+1);
  }
  //---在庫数による購入ボタン表示切替------------------------
  if ($listing['products_quantity'] > 0){
    $lc_text = tep_draw_pull_down_menu('list_quantity', $qty_array, 1) .'<br>'.
    '<a href="' .tep_href_link(basename($PHP_SELF),tep_get_all_get_params(array('action')) .'action=buy_now&products_id=' . $listing['products_id']) . '">' .
tep_image_button('button_buy_now.gif', TEXT_BUY .$listing['products_name'] . TEXT_NOW) . '</a>&nbsp;';
    } else {
    $lc_text = tep_image_button('button_sold_out.gif',$listing['products_name'] . TEXT_SOLDOUT) . '&nbsp;';
    }
    break;

/includes/application_top.phpの以下の部分(L350過ぎ辺り)
$cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);
を以下のように変更しました。

$cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+$list_quantity);

しかし、意図した通りにはなりませんでした。
●在庫数を管理画面で表示する設定にしていない限り、
  「今すぐ購入ボタン」の表示・非表示の切り替えができない。
●在庫数を上限としたプルダウンの選択可能な数が在庫数を上限として
  表示されるのは、一覧の一番上の商品のみ。
●application_top.phpの変更によるカートへの反映もできていない。

お解りになる方、お教えいただけると幸いです。

-- 
小林




Tep-j-general メーリングリストの案内
Back to archive index