Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function processDefinition(&$definition, $plugin_id)
 {
     parent::processDefinition($definition, $plugin_id);
     /** @var ProviderInterface $provider */
     $provider = new $definition['class'](['theme' => $this->theme], $plugin_id, $definition);
     $provider->processDefinition($definition, $plugin_id);
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function getDefinitions($sorted = TRUE)
 {
     $definitions = parent::getDefinitions();
     // Sort by the schema number (a.k.a. plugin ID).
     if ($sorted) {
         uasort($definitions, function ($a, $b) {
             return SortArray::sortByKeyInt($a, $b, 'id');
         });
     }
     return $definitions;
 }
 /**
  * {@inheritdoc}
  */
 public function getDefinitions($sorted = TRUE)
 {
     $definitions = parent::getDefinitions(FALSE);
     if ($sorted) {
         $groups = [];
         foreach ($definitions as $plugin_id => $definition) {
             $key = !empty($definition['groups']) ? implode(':', array_keys($definition['groups'])) : '_default';
             $groups[$key][$plugin_id] = $definition;
         }
         ksort($groups);
         $definitions = [];
         foreach ($groups as $settings) {
             uasort($settings, [$this, 'sort']);
             $definitions = array_merge($definitions, $settings);
         }
     }
     return $definitions;
 }
Beispiel #4
0
 /**
  * Constructs a new \Drupal\bootstrap\Plugin\ProcessManager object.
  *
  * @param \Drupal\bootstrap\Theme $theme
  *   The theme to use for discovery.
  */
 public function __construct(Theme $theme)
 {
     parent::__construct($theme, 'Plugin/Process', 'Drupal\\bootstrap\\Plugin\\Process\\ProcessInterface', 'Drupal\\bootstrap\\Annotation\\BootstrapProcess');
     $this->setCacheBackend(\Drupal::cache('discovery'), 'theme:' . $theme->getName() . ':process', $this->getCacheTags());
 }