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ó.