You are here

interface PromotionOfferInterface in Commerce Core 8.2

Defines the base interface for offers.

Offers can target the entire order, or individual order items. Therefore, each offer plugin actually implements one of the child interfaces.

Hierarchy

Expanded class hierarchy of PromotionOfferInterface

All classes that implement PromotionOfferInterface

See also

\Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\OrderPromotionOfferInterface

\Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\OrderItemPromotionOfferInterface

2 files declare their use of PromotionOfferInterface
Promotion.php in modules/promotion/src/Entity/Promotion.php
PromotionInterface.php in modules/promotion/src/Entity/PromotionInterface.php

File

modules/promotion/src/Plugin/Commerce/PromotionOffer/PromotionOfferInterface.php, line 20

Namespace

Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer
View source
interface PromotionOfferInterface extends ConfigurableInterface, PluginFormInterface, PluginInspectionInterface {

  /**
   * Gets the offer entity type ID.
   *
   * This is the entity type ID of the entity passed to apply().
   *
   * @return string
   *   The offer's entity type ID.
   */
  public function getEntityTypeId();

  /**
   * Applies the offer to the given entity.
   *
   * @param \Drupal\Core\Entity\EntityInterface $entity
   *   The entity.
   * @param \Drupal\commerce_promotion\Entity\PromotionInterface $promotion
   *   THe parent promotion.
   */
  public function apply(EntityInterface $entity, PromotionInterface $promotion);

  /**
   * Allows an offer to clean up any modifications done to the given entity.
   *
   * @param \Drupal\Core\Entity\EntityInterface $entity
   *   The entity.
   * @param \Drupal\commerce_promotion\Entity\PromotionInterface $promotion
   *   THe parent promotion.
   */
  public function clear(EntityInterface $entity, PromotionInterface $promotion);

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigurableInterface::defaultConfiguration public function Gets default configuration for this plugin. 11
ConfigurableInterface::getConfiguration public function Gets this plugin's configuration. 12
ConfigurableInterface::setConfiguration public function Sets the configuration for this plugin instance. 12
PluginFormInterface::buildConfigurationForm public function Form constructor. 36
PluginFormInterface::submitConfigurationForm public function Form submission handler. 32
PluginFormInterface::validateConfigurationForm public function Form validation handler. 18
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 4
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
PromotionOfferInterface::apply public function Applies the offer to the given entity. 6
PromotionOfferInterface::clear public function Allows an offer to clean up any modifications done to the given entity. 1
PromotionOfferInterface::getEntityTypeId public function Gets the offer entity type ID. 1