Các mô-đun có thể ghi đè các giá trị trong các đối tượng cấu hình. Như được mô tả trong Hệ thống ghi đè cấu hình / Cung cấp ghi đè từ các mô-đun, một mô-đun cần triển khai một dịch vụ được gắn thẻ config.factory.override. Lớp được sử dụng cho dịch vụ cần triển khai Giao diện ConfigFactoryOverride, như ví dụ được đưa ra trong tài liệu.
dịch vụ:
config_example.overrider:
lớp: Drupal\config_example\Config\ConfigExampleOverrides
thẻ:
- {tên: config.factory.override, ưu tiên: 5}
không gian tên Drupal\config_example\Config;
sử dụng Drupal\Core\Cache\CacheableMetadata;
sử dụng Drupal\Core\Config\ConfigFactoryOverrideInterface;
sử dụng Drupal\Core\Config\StorageInterface;
/**
* Ghi đè cấu hình ví dụ.
*/
lớp ConfigExampleOverrides triển khai ConfigFactoryOverrideInterface {
/**
* {@inheritdoc}
*/
hàm công khai loadOverrides($names) {
$overrides = [];
if (in_array('system.site', $names)) {
$overrides['system.site'] = ['name' => 'Tên trang web bị ghi đè!'];
}
trả về ghi đè $;
}
/**
* {@inheritdoc}
*/
hàm công khai getCacheSuffix() {
trả về 'ConfigExampleOverrider';
}
/**
* {@inheritdoc}
*/
hàm công khai getCacheableMetadata($name) {
trả về CacheableMetadata mới();
}
/**
* {@inheritdoc}
*/
chức năng công cộng createConfigObject($name, $collection = StorageInterface::DEFAULT_COLLECTION) {
trả về NULL;
}
}
Hãy nhớ rằng giá trị trong cài đặt.php tệp luôn ghi đè các giá trị mô-đun. Đối với một mô-đun để đặt giá trị cấu hình, cài đặt.php tập tin không cần thiết lập nó.