$productList[] = $object; } if ( $http->hasPostVariable( 'StoreButton' ) ) { // remove products stored in the database and store them again $db = eZDB::instance(); $db->begin(); if ( $discountRuleID ) { $discountRule = eZDiscountSubRule::fetch( $discountRuleID ); eZDiscountSubRuleValue::removeBySubRuleID ( $discountRuleID ); } else { $discountRule = eZDiscountSubRule::create( $discountGroupID ); $discountRule->store(); $discountRuleID = $discountRule->attribute( 'id' ); } $discountRule->setAttribute( 'name', trim( $http->postVariable( 'discountrule_name' ) ) ); $discountRule->setAttribute( 'discount_percent', $http->postVariable( 'discountrule_percent' ) ); $discountRule->setAttribute( 'limitation', '*' ); if ( $http->hasPostVariable( 'Products' ) && $http->postVariable( 'Products' ) ) { foreach( $productList as $product ) { $ruleValue = eZDiscountSubRuleValue::create( $discountRuleID, $product->attribute( 'id' ), 2 ); $ruleValue->store(); }