Store Configuration Product Pricing Rules Edit Rule Add "And" Condition Add Data Comparison For our final condition, click "Add condition" and select "Data comparison." Administration Store Configuration Product Pricing Rules Edit Rule Add Data Compairson Configure Condition Find our new field, called something like. If you want to be able to create unique line item types, there is a great contributed module for that called: Commerce Customizable Products. First, we'll create the settings (configuration) form for our pane. Administration, store, configuration, line Item Types, add field to Line Item. One Drupal Commerce site currently uses approximately 1500 Rules! if(!valid) this- t The specified coupon does not apply for this order. Here is an excerpt from our step-by-step guide "Creating a custom checkout pane for Drupal Commerce in Drupal 8". This could be a role that a user has or perhaps a previously visited page. They depend on the creation and management of alternate line items (e.g. Add a coupon code textfield to the product line item type.
Very few sites actually make use of this functionality, but the gist of it is your conditions cannot use data specific to the product (i.e. I'm setting my coupon code to be an arbitrary four digit number, but you could set it to just about anything that a person could type into their field. Create a Rule that looks for this value and applies a discount based on the code entered. First, we'll setup our default configuration. Special offers, such as "Buy one get one free are not supported in Drupal Commerce core. CommerceCoupons class in directory with annotation like in code below. Namespace use use use use use * Provides the coupons verkaufs coupon pane. Product type or SKU) and your actions can only use data specific to the product (i.e. This is required to force both conditions. @inheritdoc public function submitPaneForm(array pane_form, FormStateInterface form_state, array complete_form) values if(!empty(values'coupon coupon_code values'coupon commerce_coupon if(commerce_coupon) this- order- coupons commerce_coupon- id coupon_order_processor this- order- save We're done and we can test our new checkout pane.