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.