Puncte:0

Pluginul nu a fost găsit/eroare de plugin nevalid în timpul creării acțiunii personalizate VBO

drapel in

Creez o acțiune personalizată VBO și văd în mod constant eroarea de mai jos:

Drupal\Component\Plugin\Exception\PluginNotFoundException: pluginul „publish_TR_action” nu există.ID-urile de plugin valide pentru Drupal\Core\Action\ActionManager sunt: ​​node_export_action, comment_unpublish_by_keyword_action, entity_delete_action:comment, node_assign_owner_action, node_unpromote_action, node_promote_action, node_make_sticky_action, node_make_sticky_action,...

sub folderul modulului am fișierul de mai jos: /web/modules/custom\mymod/config/install/system.action.publish_comment_action.yml

   langcode: en
stare: adevărat
dependențe:
  modul:
    - cometariu
id: publish_TR_action
etichetă: „Publică comentariul și creează T&R”
tip: ""
plugin: publish_TR_action
configurație: { }

Apoi, am făcut o clasă de acțiune în folderul /src/plugin: web/modules/custom/mymod/src/Plugin/Action/PublishTRAction.php

   <?php

spațiu de nume Drupal\mymod\Plugin\Action;

utilizați Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase;
utilizați Drupal\Core\Session\AccountInterface;
utilizați Drupal\Core\StringTranslation\StringTranslationTrait;

/**
 * creați acțiuni personalizate
 *
 * @Acțiune(
 * id = "node_export_action",
 * label = @Translation(„Exportați conținut”),
 * tip = "nod"
 * )
 */

clasa PublishTRAction extinde ViewsBulkOperationsActionBase {

  utilizați StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  funcția publică execute($entity = NULL) {
    // Faceți niște procesări..

    // Nu returnați nimic pentru un mesaj de finalizare implicit, altfel returnați un marcaj translabil.
    return $this->t('Un rezultat');
  }

  /**
   * {@inheritdoc}
   */
  acces la funcția publică ($obiect, AccountInterface $cont = NULL, $return_as_object = FALSE) {
    if ($object->getEntityType() === 'nod') {
      $acces = $obiect->acces('actualizare', $cont, TRUE)
        ->andIf($obiect->stare->access('editare', $cont, TRUE));
      returnează $return_as_object ? $acces : $acces->este Permis();
    }

    // Alte tipuri de entități pot avea diferite
    // acces la metode și proprietăți.
    returnează TRUE;
  }

}

Am dezinstalat modulul și în timpul reinstalării văd eroarea de mai sus. Orice ajutor??! Folosesc Drupal 9.

No Sssweat avatar
drapel ua
În fișierul dvs. php declarați `"id = node_export_action"`, ar trebui să fie `"id = publish_TR_action"`.
Rick avatar
drapel us
a lucrat!!! Mulțumiri! poti adauga asta ca raspuns va rog?!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.