3 namespace Drupal\simple_sitemap\Plugin\simple_sitemap;
5 use Drupal\Component\Plugin\ConfigurablePluginInterface;
6 use Symfony\Component\DependencyInjection\ContainerInterface;
9 * Class UrlGeneratorPluginBase
10 * @package Drupal\simple_sitemap\Plugin\simple_sitemap
12 abstract class UrlGeneratorPluginBase extends SimplesitemapPluginBase implements ConfigurablePluginInterface {
17 public $settings = [];
22 public $enabled = TRUE;
35 * UrlGeneratorPluginBase constructor.
36 * @param array $configuration
37 * @param string $plugin_id
38 * @param mixed $plugin_definition
40 public function __construct(array $configuration, $plugin_id, $plugin_definition) {
41 parent::__construct($configuration, $plugin_id, $plugin_definition);
44 public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
45 return new static($configuration, $plugin_id, $plugin_definition);
51 public function calculateDependencies() {
52 return ['module' => 'simple_sitemap'];
58 public function getConfiguration() {
60 'id' => $this->getPluginId(),
61 'provider' => $this->pluginDefinition['provider'],
62 'status' => $this->enabled,
63 'weight' => $this->weight,
64 'settings' => $this->settings,
71 public function setConfiguration(array $configuration) {
72 if (isset($configuration['enabled'])) {
73 $this->enabled = (bool) $configuration['enabled'];
75 if (isset($configuration['weight'])) {
76 $this->weight = (int) $configuration['weight'];
78 if (isset($configuration['settings'])) {
79 $this->settings = (array) $configuration['settings'];
87 public function defaultConfiguration() {
89 'enabled' => $this->pluginDefinition['enabled'],
90 'weight' => isset($this->pluginDefinition['weight']) ? $this->pluginDefinition['weight'] : 0,
91 'settings' => isset($this->pluginDefinition['settings']) ? $this->pluginDefinition['settings'] : [],