commerce_gc_client-8.x-1.9/src/RecurrenceRulesPluginBase.php

src/RecurrenceRulesPluginBase.php
<?php

declare(strict_types=1);

namespace Drupal\commerce_gc_client;

use Drupal\Component\Plugin\PluginBase;
use Drupal\Core\Form\FormBuilder;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Base class for commerce_gc_client.variation plugins.
 */
abstract class RecurrenceRulesPluginBase extends PluginBase implements RecurrenceRulesInterface {

   /**
   * The form builder.
   *
   * @var \Drupal\Core\Form\FormBuilder.
   */
  protected $formBuilder;
  
  /**
   * Constructs a RecurringProductPluginBase object.
   *
   * @param array $configuration
   * @param string $plugin_id
   * @param mixed $plugin_definition
   * @param \Drupal\Core\Form\FormBuilder $form_builder
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, FormBuilder $form_builder) { 
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->formBuilder = $form_builder;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static(
      $configuration,
      $plugin_id,
      $plugin_definition,
      $container->get('form_builder')
    );
  }

  /**
   * {@inheritdoc}
   */
  public function label(): string {
    // Cast the label to a string since it is a TranslatableMarkup object.
    return (string) $this->pluginDefinition['label'];
  }

  /**
   * {@inheritdoc}
   */
  public function buildForm($entity): array {
    return $this->formBuilder->getForm($this->pluginDefinition['form'], $entity);
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc