Ubercartでは、購入者が商品を見て、その商品を購入するための[カートに追加]ボタンをクリックしている間、カートに商品が追加される原因となっているアクションを知りたいですか?
売価を編集したいので、この質問だけです。すでにこのフックを試しましたが、何も印刷していませんでした。
mymodulename_uc_add_to_cart($nid, $qty, $data) {
print "<pre>";print_r($data);print "</pre>";exit;
if ($qty > 1) {
$result[] = array(
'success' => FALSE,
'message' => t('Sorry, you can only add one of those at a time.'),
);
}
return $result;
}
これらのフックのどれ
hook_uc_add_to_cart
hook_uc_add_to_cart_data
hook_uc_cart_checkout_start
hook_uc_cart_display
hook_uc_cart_item_delete
hook_uc_cart_item_insert
hook_uc_cart_item_presave
hook_uc_cart_item_update
hook_uc_cart_pane
hook_uc_cart_pane_alter
hook_uc_checkout_complete
hook_uc_checkout_pane
hook_uc_checkout_pane_alter
hook_uc_update_cart_item
uc_checkout_pane_callback
カートページのカートに数量と価格を追加する責任があります。
何か案は?前もって感謝します
カートアイテムを変更する場合は、ubercartのhook_uc_cart_alter
を使用できます。
このフックはubercart 7
のドキュメントにはありませんが、Ubercart 7
でも機能します。
これは、カートが再構築されるたびに(たとえば、製品が追加されるときに)呼び出されるため、カートアイテムを変更するのに適しています。
私はuc_coupon
モジュールをチェックし、フックhook_uc_cart_alter
がそのモジュールに実装されています。したがって、このフックを試すことができます。
編集:商品の価格を変更するコードスニペット
/**
* Implements uc_cart_alter.
*/
function mymodule_uc_cart_alter(&$items ) {
foreach ($items as $index => $item) {
//you can add condition for your bid product
$items[$index]->price = 100;
}
}
参考のため:
少しグーグルで、私はこれを見つけました、あなたが探しているものかもしれません
コア追加機能は、
uc_cart_add_item($nid, $qty = 1, $data = NULL, $cid = NULL, $msg = TRUE, $check_redirect = TRUE, $rebuild = TRUE
)
参照
http://api.ubercart.me/api/drupal/ubercart!uc_cart!uc_cart.module/function/uc_cart_add_item/7
しかし、コードを貫通できるフックを探しているなら、
hook_uc_add_to_cart($nid, $qty, $data)
参照
http://api.ubercart.me/api/drupal/ubercart!uc_cart!uc_cart.api.php/function/hook_uc_add_to_cart/7
また、さまざまなAPIの詳細については、次のリンクを確認してください
http://api.ubercart.me/api/drupal/ubercart!uc_cart!uc_cart.api.php/7
http://api.ubercart.me/api/drupal/functions/7
更新:
価格のカスタム変更について、すでに議論されているスレッドのチェックアウト こちら