interface PromotionInterface in Commerce Core 8.2
Defines the interface for promotions.
Hierarchy
- interface \Drupal\Core\Entity\ContentEntityInterface extends \Drupal\Core\Entity\Traversable; interface \Drupal\commerce_store\Entity\EntityStoresInterface; interface \Drupal\Core\Entity\EntityChangedInterface; interface \Drupal\user\EntityOwnerInterface
- interface \Drupal\commerce_promotion\Entity\PromotionInterface
Expanded class hierarchy of PromotionInterface
All classes that implement PromotionInterface
18 files declare their use of PromotionInterface
- BuyXGetY.php in modules/
promotion/ src/ Plugin/ Commerce/ PromotionOffer/ BuyXGetY.php - CombinationOffer.php in modules/
promotion/ src/ Plugin/ Commerce/ PromotionOffer/ CombinationOffer.php - commerce_promotion.post_update.php in modules/
promotion/ commerce_promotion.post_update.php - Post update functions for Promotion.
- CouponStorage.php in modules/
promotion/ src/ CouponStorage.php - CouponStorageInterface.php in modules/
promotion/ src/ CouponStorageInterface.php
File
- modules/
promotion/ src/ Entity/ PromotionInterface.php, line 16
Namespace
Drupal\commerce_promotion\EntityView source
interface PromotionInterface extends ContentEntityInterface, EntityStoresInterface, EntityChangedInterface, EntityOwnerInterface {
const COMPATIBLE_ANY = 'any';
const COMPATIBLE_NONE = 'none';
/**
* Gets the promotion name.
*
* This name is admin-facing.
*
* @return string
* The promotion name.
*/
public function getName();
/**
* Sets the promotion name.
*
* @param string $name
* The promotion name.
*
* @return $this
*/
public function setName($name);
/**
* Gets the promotion display name.
*
* This name is user-facing.
* Shown in the order total summary.
*
* @return string
* The promotion display name. If empty, use t('Discount').
*/
public function getDisplayName();
/**
* Sets the promotion display name.
*
* @param string $display_name
* The promotion display name.
*
* @return $this
*/
public function setDisplayName($display_name);
/**
* Gets the promotion description.
*
* @return string
* The promotion description.
*/
public function getDescription();
/**
* Sets the promotion description.
*
* @param string $description
* The promotion description.
*
* @return $this
*/
public function setDescription($description);
/**
* Gets the promotion order types.
*
* @return \Drupal\commerce_order\Entity\OrderTypeInterface[]
* The promotion order types.
*/
public function getOrderTypes();
/**
* Sets the promotion order types.
*
* @param \Drupal\commerce_order\Entity\OrderTypeInterface[] $order_types
* The promotion order types.
*
* @return $this
*/
public function setOrderTypes(array $order_types);
/**
* Gets the promotion order type IDs.
*
* @return int[]
* The promotion order type IDs.
*/
public function getOrderTypeIds();
/**
* Sets the promotion order type IDs.
*
* @param int[] $order_type_ids
* The promotion order type IDs.
*
* @return $this
*/
public function setOrderTypeIds(array $order_type_ids);
/**
* Gets the offer.
*
* @return \Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\PromotionOfferInterface|null
* The offer, or NULL if not yet available.
*/
public function getOffer();
/**
* Sets the offer.
*
* @param \Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\PromotionOfferInterface $offer
* The offer.
*
* @return $this
*/
public function setOffer(PromotionOfferInterface $offer);
/**
* Gets the conditions.
*
* @return \Drupal\commerce\Plugin\Commerce\Condition\ConditionInterface[]
* The conditions.
*/
public function getConditions();
/**
* Sets the conditions.
*
* @param \Drupal\commerce\Plugin\Commerce\Condition\ConditionInterface[] $conditions
* The conditions.
*
* @return $this
*/
public function setConditions(array $conditions);
/**
* Gets the condition operator.
*
* @return string
* The condition operator. Possible values: AND, OR.
*/
public function getConditionOperator();
/**
* Sets the condition operator.
*
* @param string $condition_operator
* The condition operator.
*
* @return $this
*/
public function setConditionOperator($condition_operator);
/**
* Gets the coupon IDs.
*
* @return int[]
* The coupon IDs.
*/
public function getCouponIds();
/**
* Gets the coupons.
*
* @return \Drupal\commerce_promotion\Entity\CouponInterface[]
* The coupons.
*/
public function getCoupons();
/**
* Sets the coupons.
*
* @param \Drupal\commerce_promotion\Entity\CouponInterface[] $coupons
* The coupons.
*
* @return $this
*/
public function setCoupons(array $coupons);
/**
* Gets whether the promotion has coupons.
*
* @return bool
* TRUE if the promotion has coupons, FALSE otherwise.
*/
public function hasCoupons();
/**
* Adds a coupon.
*
* @param \Drupal\commerce_promotion\Entity\CouponInterface $coupon
* The coupon.
*
* @return $this
*/
public function addCoupon(CouponInterface $coupon);
/**
* Removes a coupon.
*
* @param \Drupal\commerce_promotion\Entity\CouponInterface $coupon
* The coupon.
*
* @return $this
*/
public function removeCoupon(CouponInterface $coupon);
/**
* Checks whether the promotion has a given coupon.
*
* @param \Drupal\commerce_promotion\Entity\CouponInterface $coupon
* The coupon.
*
* @return bool
* TRUE if the coupon was found, FALSE otherwise.
*/
public function hasCoupon(CouponInterface $coupon);
/**
* Gets the promotion usage limit.
*
* Represents the maximum number of times the promotion can be used.
* 0 for unlimited.
*
* @return int
* The promotion usage limit.
*/
public function getUsageLimit();
/**
* Sets the promotion usage limit.
*
* @param int $usage_limit
* The promotion usage limit.
*
* @return $this
*/
public function setUsageLimit($usage_limit);
/**
* Gets the per customer promotion usage limit.
*
* Represents the maximum number of times the promotion can be used by a customer.
* 0 for unlimited.
*
* @return int
* The per customer promotion usage limit.
*/
public function getCustomerUsageLimit();
/**
* Sets the per customer promotion usage limit.
*
* @param int $usage_limit_customer
* The per customer promotion usage limit.
*
* @return $this
*/
public function setCustomerUsageLimit($usage_limit_customer);
/**
* Gets the promotion start date/time.
*
* The start date/time should always be used in the store timezone.
* Since the promotion can belong to multiple stores, the timezone
* isn't known at load/save time, and is provided by the caller instead.
*
* Note that the returned date/time value is the same in any timezone,
* the "2019-10-17 10:00" stored value is returned as "2019-10-17 10:00 CET"
* for "Europe/Berlin" and "2019-10-17 10:00 ET" for "America/New_York".
*
* @param string $store_timezone
* The store timezone. E.g. "Europe/Berlin".
*
* @return \Drupal\Core\Datetime\DrupalDateTime
* The promotion start date/time.
*/
public function getStartDate($store_timezone = 'UTC');
/**
* Sets the promotion start date/time.
*
* @param \Drupal\Core\Datetime\DrupalDateTime $start_date
* The promotion start date/time.
*
* @return $this
*/
public function setStartDate(DrupalDateTime $start_date);
/**
* Gets the promotion end date/time.
*
* The end date/time should always be used in the store timezone.
* Since the promotion can belong to multiple stores, the timezone
* isn't known at load/save time, and is provided by the caller instead.
*
* Note that the returned date/time value is the same in any timezone,
* the "2019-10-17 11:00" stored value is returned as "2019-10-17 11:00 CET"
* for "Europe/Berlin" and "2019-10-17 11:00 ET" for "America/New_York".
*
* @param string $store_timezone
* The store timezone. E.g. "Europe/Berlin".
*
* @return \Drupal\Core\Datetime\DrupalDateTime
* The promotion end date/time.
*/
public function getEndDate($store_timezone = 'UTC');
/**
* Sets the promotion end date/time.
*
* @param \Drupal\Core\Datetime\DrupalDateTime $end_date
* The promotion end date/time.
*
* @return $this
*/
public function setEndDate(DrupalDateTime $end_date = NULL);
/**
* Gets the promotion compatibility.
*
* @return string
* The compatibility.
*/
public function getCompatibility();
/**
* Sets the promotion compatibility.
*
* @param string $compatibility
* The compatibility.
*
* @return $this
*/
public function setCompatibility($compatibility);
/**
* Get whether the promotion is enabled.
*
* @return bool
* TRUE if the promotion is enabled, FALSE otherwise.
*/
public function isEnabled();
/**
* Sets whether the promotion is enabled.
*
* @param bool $enabled
* Whether the promotion is enabled.
*
* @return $this
*/
public function setEnabled($enabled);
/**
* Gets the weight.
*
* @return int
* The weight.
*/
public function getWeight();
/**
* Sets the weight.
*
* @param int $weight
* The weight.
*
* @return $this
*/
public function setWeight($weight);
/**
* Checks whether the promotion is available for the given order.
*
* Ensures that the order type and store match the promotion's,
* that the promotion is enabled, the current date matches the
* start and end dates, and the usage limits are respected.
*
* @param \Drupal\commerce_order\Entity\OrderInterface $order
* The order.
*
* @return bool
* TRUE if promotion is available, FALSE otherwise.
*/
public function available(OrderInterface $order);
/**
* Checks whether the promotion can be applied to the given order.
*
* Ensures that the promotion is compatible with other
* promotions on the order, and that the conditions pass.
*
* @param \Drupal\commerce_order\Entity\OrderInterface $order
* The order.
*
* @return bool
* TRUE if promotion can be applied, FALSE otherwise.
*/
public function applies(OrderInterface $order);
/**
* Applies the promotion to the given order.
*
* @param \Drupal\commerce_order\Entity\OrderInterface $order
* The order.
*/
public function apply(OrderInterface $order);
/**
* Allows a promotion to clean up any modifications done to the given order.
*
* @param \Drupal\commerce_order\Entity\OrderInterface $order
* The order.
*/
public function clear(OrderInterface $order);
/**
* Gets the promotion creation timestamp.
*
* @return int
* Creation timestamp of the promotion.
*/
public function getCreatedTime();
/**
* Sets the promotion creation timestamp.
*
* @param int $timestamp
* The promotion creation timestamp.
*
* @return $this
*/
public function setCreatedTime($timestamp);
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AccessibleInterface:: |
public | function | Checks data value access. | 9 |
CacheableDependencyInterface:: |
public | function | The cache contexts associated with this object. | 34 |
CacheableDependencyInterface:: |
public | function | The maximum age for which this object may be cached. | 34 |
CacheableDependencyInterface:: |
public | function | The cache tags associated with this object. | 27 |
EntityChangedInterface:: |
public | function | Gets the timestamp of the last entity change for the current translation. | |
EntityChangedInterface:: |
public | function | Gets the timestamp of the last entity change across all translations. | |
EntityChangedInterface:: |
public | function | Sets the timestamp of the last entity change for the current translation. | |
EntityInterface:: |
public | function | Gets the bundle of the entity. | 2 |
EntityInterface:: |
public static | function | Constructs a new entity object, without permanently saving it. | 2 |
EntityInterface:: |
public | function | Creates a duplicate of the entity. | 2 |
EntityInterface:: |
public | function | Deletes an entity permanently. | 2 |
EntityInterface:: |
public | function | Enforces an entity to be new. | 2 |
EntityInterface:: |
public | function | Returns the cache tags that should be used to invalidate caches. | 2 |
EntityInterface:: |
public | function | Gets the key that is used to store configuration dependencies. | 2 |
EntityInterface:: |
public | function | Gets the configuration dependency name. | 2 |
EntityInterface:: |
public | function | Gets the configuration target identifier for the entity. | 2 |
EntityInterface:: |
public | function | Gets the entity type definition. | 2 |
EntityInterface:: |
public | function | Gets the ID of the type of the entity. | 2 |
EntityInterface:: |
public | function | Gets the original ID. | 2 |
EntityInterface:: |
public | function | Gets a typed data object for this entity object. | 2 |
EntityInterface:: |
public | function | Indicates if a link template exists for a given key. | 2 |
EntityInterface:: |
public | function | Gets the identifier. | 2 |
EntityInterface:: |
public | function | Determines whether the entity is new. | 2 |
EntityInterface:: |
public | function | Gets the label of the entity. | 2 |
EntityInterface:: |
public | function | Gets the language of the entity. | 2 |
EntityInterface:: |
public | function | Deprecated way of generating a link to the entity. See toLink(). | 2 |
EntityInterface:: |
public static | function | Loads an entity. | 2 |
EntityInterface:: |
public static | function | Loads one or more entities. | 2 |
EntityInterface:: |
public | function | Acts on a created entity before hooks are invoked. | 2 |
EntityInterface:: |
public static | function | Acts on deleted entities before the delete hook is invoked. | 2 |
EntityInterface:: |
public static | function | Acts on loaded entities. | 3 |
EntityInterface:: |
public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 |
EntityInterface:: |
public static | function | Changes the values of an entity before it is created. | 2 |
EntityInterface:: |
public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 |
EntityInterface:: |
public | function | Acts on an entity before the presave hook is invoked. | 2 |
EntityInterface:: |
public | function | Gets a list of entities referenced by this entity. | 2 |
EntityInterface:: |
public | function | Saves an entity permanently. | 2 |
EntityInterface:: |
public | function | Sets the original ID. | 2 |
EntityInterface:: |
public | function | Generates the HTML for a link to this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets a list of URI relationships supported by this entity. | 2 |
EntityInterface:: |
public | function | Gets the public URL for this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets the entity UUID (Universally Unique Identifier). | 2 |
EntityOwnerInterface:: |
public | function | Returns the entity owner's user entity. | 1 |
EntityOwnerInterface:: |
public | function | Returns the entity owner's user ID. | 1 |
EntityOwnerInterface:: |
public | function | Sets the entity owner's user entity. | 1 |
EntityOwnerInterface:: |
public | function | Sets the entity owner's user ID. | 1 |
EntityStoresInterface:: |
public | function | Gets the store IDs. | 2 |
EntityStoresInterface:: |
public | function | Gets the stores. | 2 |
EntityStoresInterface:: |
public | function | Sets the store IDs. | 2 |
EntityStoresInterface:: |
public | function | Sets the stores. | 2 |
FieldableEntityInterface:: |
public static | function | Provides base field definitions for an entity type. | 2 |
FieldableEntityInterface:: |
public static | function | Provides field definitions for a specific bundle. | 2 |
FieldableEntityInterface:: |
public | function | Gets a field item list. | 1 |
FieldableEntityInterface:: |
public | function | Gets the definition of a contained field. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field definitions of all contained fields. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of all field item lists. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field item lists for translatable fields. | 1 |
FieldableEntityInterface:: |
public | function | Determines whether the entity has a field with the given name. | 1 |
FieldableEntityInterface:: |
public | function | Checks whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function | Reacts to changes to a field. | 1 |
FieldableEntityInterface:: |
public | function | Sets a field value. | 1 |
FieldableEntityInterface:: |
public | function | Sets whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function |
Gets an array of all field values. Overrides EntityInterface:: |
|
FieldableEntityInterface:: |
public | function | Validates the currently set values. | 1 |
PromotionInterface:: |
public | function | Adds a coupon. | 1 |
PromotionInterface:: |
public | function | Checks whether the promotion can be applied to the given order. | 1 |
PromotionInterface:: |
public | function | Applies the promotion to the given order. | 1 |
PromotionInterface:: |
public | function | Checks whether the promotion is available for the given order. | 1 |
PromotionInterface:: |
public | function | Allows a promotion to clean up any modifications done to the given order. | 1 |
PromotionInterface:: |
constant | |||
PromotionInterface:: |
constant | |||
PromotionInterface:: |
public | function | Gets the promotion compatibility. | 1 |
PromotionInterface:: |
public | function | Gets the condition operator. | 1 |
PromotionInterface:: |
public | function | Gets the conditions. | 1 |
PromotionInterface:: |
public | function | Gets the coupon IDs. | 1 |
PromotionInterface:: |
public | function | Gets the coupons. | 1 |
PromotionInterface:: |
public | function | Gets the promotion creation timestamp. | 1 |
PromotionInterface:: |
public | function | Gets the per customer promotion usage limit. | 1 |
PromotionInterface:: |
public | function | Gets the promotion description. | 1 |
PromotionInterface:: |
public | function | Gets the promotion display name. | 1 |
PromotionInterface:: |
public | function | Gets the promotion end date/time. | 1 |
PromotionInterface:: |
public | function | Gets the promotion name. | 1 |
PromotionInterface:: |
public | function | Gets the offer. | 1 |
PromotionInterface:: |
public | function | Gets the promotion order type IDs. | 1 |
PromotionInterface:: |
public | function | Gets the promotion order types. | 1 |
PromotionInterface:: |
public | function | Gets the promotion start date/time. | 1 |
PromotionInterface:: |
public | function | Gets the promotion usage limit. | 1 |
PromotionInterface:: |
public | function | Gets the weight. | 1 |
PromotionInterface:: |
public | function | Checks whether the promotion has a given coupon. | 1 |
PromotionInterface:: |
public | function | Gets whether the promotion has coupons. | 1 |
PromotionInterface:: |
public | function | Get whether the promotion is enabled. | 1 |
PromotionInterface:: |
public | function | Removes a coupon. | 1 |
PromotionInterface:: |
public | function | Sets the promotion compatibility. | 1 |
PromotionInterface:: |
public | function | Sets the condition operator. | 1 |
PromotionInterface:: |
public | function | Sets the conditions. | 1 |
PromotionInterface:: |
public | function | Sets the coupons. | 1 |
PromotionInterface:: |
public | function | Sets the promotion creation timestamp. | 1 |
PromotionInterface:: |
public | function | Sets the per customer promotion usage limit. | 1 |
PromotionInterface:: |
public | function | Sets the promotion description. | 1 |
PromotionInterface:: |
public | function | Sets the promotion display name. | 1 |
PromotionInterface:: |
public | function | Sets whether the promotion is enabled. | 1 |
PromotionInterface:: |
public | function | Sets the promotion end date/time. | 1 |
PromotionInterface:: |
public | function | Sets the promotion name. | 1 |
PromotionInterface:: |
public | function | Sets the offer. | 1 |
PromotionInterface:: |
public | function | Sets the promotion order type IDs. | 1 |
PromotionInterface:: |
public | function | Sets the promotion order types. | 1 |
PromotionInterface:: |
public | function | Sets the promotion start date/time. | 1 |
PromotionInterface:: |
public | function | Sets the promotion usage limit. | 1 |
PromotionInterface:: |
public | function | Sets the weight. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache contexts. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache tags. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 |
RevisionableInterface:: |
public | function | Gets the loaded Revision ID of the entity. | 1 |
RevisionableInterface:: |
public | function | Gets the revision identifier of the entity. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the default revision. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the latest revision. | 1 |
RevisionableInterface:: |
public | function | Determines whether a new revision should be created on save. | 1 |
RevisionableInterface:: |
public | function | Acts on a revision before it gets saved. | 1 |
RevisionableInterface:: |
public | function | Enforces an entity to be saved as a new revision. | 1 |
RevisionableInterface:: |
public | function | Updates the loaded Revision ID with the revision ID. | 1 |
RevisionableInterface:: |
public | function | Checks whether the entity object was a default revision when it was saved. | 1 |
SynchronizableInterface:: |
public | function | Returns whether this entity is being changed as part of a synchronization. | 1 |
SynchronizableInterface:: |
public | function | Sets the status of the synchronization flag. | 1 |
TranslatableInterface:: |
public | function | Adds a new translation to the translatable object. | 1 |
TranslatableInterface:: |
public | function | Gets a translation of the data. | 1 |
TranslatableInterface:: |
public | function | Returns the languages the data is translated to. | 1 |
TranslatableInterface:: |
public | function | Returns the translatable object referring to the original language. | 1 |
TranslatableInterface:: |
public | function | Checks there is a translation for the given language code. | 1 |
TranslatableInterface:: |
public | function | Determines if the current translation of the entity has unsaved changes. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is the default one. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is new. | 1 |
TranslatableInterface:: |
public | function | Returns the translation support status. | 1 |
TranslatableInterface:: |
public | function | Removes the translation identified by the given language code. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if untranslatable fields should affect only the default translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether this is the latest revision affecting this translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether the current translation is affected by the current revision. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if the revision translation affected flag value has been enforced. | 1 |
TranslatableRevisionableInterface:: |
public | function | Marks the current revision translation as affected. | 1 |
TranslatableRevisionableInterface:: |
public | function | Enforces the revision translation affected flag value. | 1 |