Saya sedang membangun modul khusus di Drupal 8. Ini mencakup beberapa file konfigurasi YAML.
Ketika saya mengembangkan saya perlu mengubah dan menambahkan ke konfigurasi, misalnya untuk menambah bidang lain ke entitas kustom saya.
Saat ini satu-satunya cara yang saya temukan untuk membuat Drupal memperhatikan perubahannya adalah mencopot modul dan menginstalnya kembali.
Apakah ada cara untuk mendapatkan Drupal untuk memeriksa apakah file konfigurasi yang disediakan oleh modul sama dengan konfigurasi aktif, dan jika tidak, perbarui konfigurasi aktif? Bagaimana pembaruan modul ditangani? Di D7 hook_update_N
akan digunakan untuk menambahkan bidang menggunakan PHP, tetapi sepertinya ini harus ditangani oleh CM di D8?
Hal yang saya coba setelah memperbarui file yml di modul:
drush cr
, konfigurasi sinkronisasi.secara manual menyalin semua file konfigurasi yang diperbarui ke
sites/default/files/config_XXX/staging/
- tetapi ini memberikan kesalahan ini "Konfigurasi bertahap tidak dapat diimpor, karena berasal dari situs yang berbeda dari situs ini. Anda hanya dapat menyinkronkan konfigurasi antara contoh hasil kloning dari situs ini." .mengimpor file satu per satu secara manual menggunakan pengelola konfigurasi. Ini berfungsi, tetapi jelas harus ada cara yang lebih otomatis.
[EDIT] secara manual menggunakan modul config_update untuk memeriksa perubahan dan 'mengembalikan' ke konfigurasi modul. Sekali lagi, ini manual.
EDIT: Dari Mengelola konfigurasi - lakukan dan tidak boleh dilakukan
TIDAK
Cobalah untuk mengubah konfigurasi aktif di situs Anda dengan mengubah file di direktori config / install modul. Ini TIDAK akan berfungsi karena Drupal hanya akan membaca dari direktori itu ketika modul diinstal.
... tetapi perubahan akan terjadi, kecuali modul terikat pada konfigurasi apa pun yang mereka butuhkan pada rilis pertama mereka, dan mungkin tidak akan pernah memperbarui atau menambah konfigurasi.
Terima kasih sebelumnya.
hook_update_N
saya anggap, tapi saya tidak yakin apa
hook_update_N
. Artikel bagus tentang Drupal 8 untuk situs kecil (dan bagian 2 ). Di D8 "situs memiliki konfigurasinya, bukan modul" .