Nó dường như không được bảo lưu/không được phép bởi Drupal hoặc Symfony - điều này hoạt động tốt với tôi trong 9.3.13 sau khi thêm mã và xây dựng lại bộ đệm (không có bước bổ sung):
custom_module.services.yml
dịch vụ:
custom_module.event_subscriber:
lớp: Drupal\custom_module\EventSubscriber\XYZFeeds
thẻ:
- { tên: event_subscriber }
src/EventSubscriber/XYZFeeds.php
<?php
không gian tên Drupal\custom_module\EventSubscriber;
sử dụng Drupal\Core\Config\ConfigCrudEvent;
sử dụng Drupal\Core\Config\ConfigEvents;
sử dụng Symfony\Component\EventDispatcher\EventSubscriberInterface;
lớp XYZFeeds triển khai EventSubscriberInterface {
hàm tĩnh công khai getSubscribeEvents() {
trở lại [
Sự kiện cấu hình::SAVE => 'configSave',
Sự kiện cấu hình::DELETE => 'configDelete',
];
}
chức năng công khai configSave(ConfigCrudEvent $event) {
$config = $event->getConfig();
\Drupal::messenger()->addStatus('Cấu hình đã lưu: ' . $config->getName());
}
chức năng công khai configDelete(ConfigCrudEvent $event) {
$config = $event->getConfig();
\Drupal::messenger()->addStatus('Đã xóa cấu hình: ' . $config->getName());
}
}
Điều này tạo ra các thông báo dự kiến khi lưu/xóa cấu hình, vì vậy có vẻ như sự cố của bạn là một vấn đề cục bộ hơn.
Một ý tưởng để gỡ lỗi thêm xuất hiện trong đầu là kiểm tra xem bạn có mã tùy chỉnh (hoặc thậm chí là đóng góp) nào đang làm thay đổi dịch vụ hay không, thậm chí có thể xóa mã đó. Điều này có thể được thực hiện bằng cách sử dụng một nhà cung cấp dịch vụ, do đó grep-ing các thư mục có liên quan cho Nhà cung cấp dịch vụ
có thể là một bước đầu tiên.
Bạn cũng nên thử thay đổi phần đầu tiên của ID thay vì phần thứ hai, để xem có thực sự đúng như vậy không. event_subscriber
điều đó gây ra sự cố hoặc toàn bộ chuỗi:
dịch vụ:
my_module_test.event_subscriber:
lớp: Drupal\my_module\EventSubscriber\XYZFeeds
thẻ:
- { tên: event_subscriber }
Nếu phiên bản thay đổi hoạt động với .event_subscriber
, ít nhất bạn đã loại trừ đó là vấn đề.