function uc_product_kit_uc_product_alter in Ubercart 8.4
Same name and namespace in other branches
- 7.3 uc_product_kit/uc_product_kit.module \uc_product_kit_uc_product_alter()
Implements hook_uc_product_alter().
File
- uc_product_kit/
uc_product_kit.module, line 853 - The product kit module for Ubercart.
Code
function uc_product_kit_uc_product_alter(&$variant) {
if (isset($variant->data['kit_id'])) {
// If this is a kit component load, we would cause infinite recursion trying
// to Node::load() the parent, but we already have the discount available.
if (isset($variant->data['kit_discount'])) {
$discount = $variant->data['kit_discount'];
}
elseif (($kit = Node::load($variant->data['kit_id'])) && $kit->mutable != UC_PRODUCT_KIT_MUTABLE) {
$discount = $kit->products[$variant
->id()]->discount;
}
else {
$discount = 0;
}
$variant->price->value += $discount;
$variant->display_price += $discount;
$variant->data['module'] = 'uc_product_kit';
}
}