web-dev-qa-db-ja.com

Ubercart 3はカートに追加する前に在庫を確認します

ユーザーがカートに追加する数量を入力すると、その製品の在庫レベルに対してその数量を確認しようとしています。在庫がその数量より少ない場合、エラーが返されます。これは私が得た限りであり、行き詰まっています。何かアイデアはありますか?

function uc_check_stock_form_alter(&$form,&$form_state,$form_id) {
  if ($form_id == 'uc_product_add_to_cart_form_') {
    $form['#validate'][] = 'uc_check_stock_form_validate';
  }
  return $form;
}


function uc_check_stock_form_validate($form, &$form_state) {

  $stock = db_result(db_query("SELECT `stock` FROM `uc_product_stock` WHERE `nid` = '%d'", $form_state['values']['node']->nid));
  if (is_numeric($stock) && $stock < $form_state['values']['qty']) {
  form_set_error('qty', t('Quantity is greater than our available stock. Please adjust your quantity for the this item.'));
  }
}
1
user1248979

誰かがすでに モジュール を作成しましたが、IMHOを修正する必要があります。多分あなたはそれで遊んで何かをより良くすることができます、私は間違いなくとても感謝しています...

1
Shaya Krauss