You are here

class ProductVariationCommerceFile in Commerce File 8.2

Provides an entity trait for Commerce Product Variation entities.

Product variations that sell a file must use this trait. This adds a field to the product variation type for storing the digital file(s) that can be downloaded when the product is purchased.

Plugin annotation

 id = "commerce_file",
 label = @Translation("Provides a file for download"),
 entity_types = {"commerce_product_variation"}


Expanded class hierarchy of ProductVariationCommerceFile


src/Plugin/Commerce/EntityTrait/ProductVariationCommerceFile.php, line 22


View source
class ProductVariationCommerceFile extends EntityTraitBase {

   * {@inheritdoc}
  public function buildFieldDefinitions() {

    // Builds the field definitions.
    $fields = [];
    $fields['commerce_file'] = BundleFieldDefinition::create('file')
      'file_extensions' => 'mp4 m4v flv wmv mp3 wav jpg jpeg png pdf doc docx ppt pptx xls xlsx',
      'description_field' => 1,
      'uri_scheme' => 'private',
      ->setDisplayOptions('form', [
      'type' => 'file_generic',
    return $fields;



Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
EntityTraitBase::getEntityTypeIds public function Gets the entity type IDs. Overrides EntityTraitInterface::getEntityTypeIds
EntityTraitBase::getLabel public function Gets the entity trait label. Overrides EntityTraitInterface::getLabel
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
ProductVariationCommerceFile::buildFieldDefinitions public function Builds the field definitions. Overrides EntityTraitBase::buildFieldDefinitions
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.