Nu pare să fie rezervat/dezautorizat de Drupal sau Symfony - acest lucru funcționează bine pentru mine în 9.3.13 după ce am adăugat codul și am reconstruit memoria cache (fără pași suplimentari):
custom_module.services.yml
Servicii:
custom_module.event_subscriber:
clasa: Drupal\custom_module\EventSubscriber\XYZFeeds
Etichete:
- { nume: event_subscriber }
src/EventSubscriber/XYZFeeds.php
<?php
spațiu de nume Drupal\modul_personalizat\EventSubscriber;
utilizați Drupal\Core\Config\ConfigCrudEvent;
utilizați Drupal\Core\Config\ConfigEvents;
utilizați Symfony\Component\EventDispatcher\EventSubscriberInterface;
clasa XYZFeeds implementează EventSubscriberInterface {
funcție publică statică getSubscribedEvents() {
întoarcere [
ConfigEvents::SAVE => 'configSave',
ConfigEvents::DELETE => 'configDelete',
];
}
funcția publică configSave(ConfigCrudEvent $event) {
$config = $event->getConfig();
\Drupal::messenger()->addStatus('Configurație salvată: ' . $config->getName());
}
funcția publică configDelete(ConfigCrudEvent $event) {
$config = $event->getConfig();
\Drupal::messenger()->addStatus('Configurație ștearsă: ' . $config->getName());
}
}
Acest lucru produce mesajele așteptate la config save/delete, așa că se pare că problema dvs. este ceva mai localizat.
O idee pentru depanare ulterioară care vă vine în minte este să verificați dacă nu aveți niciun cod personalizat (sau chiar contributiv) care modifică serviciul, poate chiar eliminându-l. Acest lucru se poate face folosind a furnizor de servicii, deci grep-ing folderele relevante pentru Furnizor de servicii
poate fi un prim pas.
De asemenea, ar merita un test pentru a schimba prima parte a ID-ului mai degrabă decât a doua, pentru a vedea dacă este într-adevăr abonat_eveniment
asta cauzează problema sau șirul în ansamblu:
Servicii:
my_module_test.event_subscriber:
clasa: Drupal\my_module\EventSubscriber\XYZFeeds
Etichete:
- { nume: event_subscriber }
Dacă versiunea modificată funcționează cu .abonat_eveniment
, cel puțin ați exclus asta ca problemă.