Direkt zum Inhalt
Drupal : Ein Plugin manuell laden

Ein Drupal-Plugin ist eine Sammlung von Codes, die nach einem Konzept definiert sind, um bestimmte Bedürfnisse zu lösen. 
Plugins werden automatisch geladen, wenn sie benötigt werden, aber es kann vorkommen, dass Sie Ihr Plugin manuell laden möchten.

Es gibt mehrere Ansätze, um Ihr Plugin zu laden.

1: createInstance

Mit der Methode createInstance können Sie eine Instanz des Plugins erstellen. Um diese Methode zu verwenden, müssen Sie den Plugin-Manager bestimmen.

Beispiel: Das Plugin „boolean“ (core/modules/views/src/Plugin/views/filter/BooleanOperator.php).

...
 * @ingroup views_filter_handlers
 *
 * @ViewsFilter("boolean")
 */
class BooleanOperator extends FilterPluginBase {

...

ViewsFilter repräsentiert normalerweise den Namen der Klasse für die Annotation. Von hier aus können wir über eine Suche zum Plugin-Manager (core/modules/views/src/Plugin/ViewsHandlerManager.php) zurückgehen.


Anschließend müssen wir den Dienst bestimmen: ( in der Datei [ModuleName].services.yml )

...
  plugin.manager.views.filter:
    class: Drupal\views\Plugin\ViewsHandlerManager
    arguments: [filter, '@container.namespaces', '@views.views_data', '@cache.discovery', '@module_handler']
...

Sie können Ihren Dienst laden :

***
/**
   *
   * @var \Drupal\views\Plugin\ViewsHandlerManager $ViewsHandlerManager
   */
  $ViewsHandlerManager = \Drupal::service('plugin.manager.views.filter');

 $options = [];
  /**
   *
   * @var \Drupal\views\Plugin\views\filter\BooleanOperator $instance
   */
$instance = $ViewsHandlerManager->createInstance('boolean', $options);

 

Profile picture for user admin Stephane K

Écrit le

Il y'a 1 Jahr
Modifié
Il y'a 2 Wochen
Lädt...
WhatsApp
Support Habeuk : +237 694 900 622
WhatsApp Send