Pada Drupal 8.1 saya terus menjalankan pesan-pesan semacam itu ketika saya mencoba untuk mengaktifkan modul khusus atau fitur kustom yang membuat beberapa modifikasi ke halaman dasar. (tambahkan bidang).
Ini benar-benar menjengkelkan ...
Langkah:
- Hapus database sepenuhnya
- pergi ke /install.php dan pilih Profil standar
- Sekarang situs berjalan, buka Extend
- Pilih Fitur - Halaman dasar
Hasil:
Unable to install Feature - Basic Page, core.base_field_override.node.page.promote, core.entity_form_display.node.page.default, core.entity_view_display.node.page.default, core.entity_view_display.node.page.teaser, field.field.node.page.body, node.type.page already exist in active configuration.
Yah ya ... itulah yang ingin saya lakukan: Ubah pengaturan default itu!
Expexted:
Dapat menginstal fitur saya yang membuat beberapa modifikasi ke halaman dasar.
Fitur saya
Ini adalah Fitur saya buat dengan modul Fitur
Ini pada dasarnya menambahkan dua bidang, banner_image dan background_image ke halaman dasar
File:
config
install
core.base_field_override.node.page.changed.yml
core.base_field_override.node.page.created.yml
core.base_field_override.node.page.promote.yml
core.base_field_override.node.page.status.yml
core.base_field_override.node.page.sticky.yml
core.base_field_override.node.page.title.yml
core.base_field_override.node.page.uid.yml
core.entity_form_display.node.page.default.yml
core.entity_view_display.node.page.default.yml
core.entity_view_display.node.page.teaser.yml
field.field.node.page.body.yml
field.field.node.page.field_banner_image.yml
field.field.node.page.field_image.yml
field.storage.node.field_banner_image.yml
language.content_settings.node.page.yml
node.type.page.yml
feature_basic_page.features.yml
feature_basic_page.info.yml
Mengapa hal sederhana ini tidak didukung? Apakah ini bug? Apa yang harus saya lakukan untuk dapat menggunakan fitur saya?
Jawaban:
Dengan mabuk Anda mungkin bisa melakukannya
untuk menghapus konfigurasi yang mengeluh
sumber
optional/
folder untuk membuatnya diam. Tapi saya tidak yakin dengan semua implikasinya ...Warning: in_array() expects parameter 2 to be array, null given in lightning_layout_block_alter() (line 91 of modules/contrib/lightning_layout/lightning_layout.module).
setelah mengatur kode situs saya, sumber git, dan basis data di komputer lain .drush pm-uninstall lightning_layout
bekerja tetapi kemudian ketika saya mencoba menginstalnya kembali dengandrush en lightning_layout
saya mendapat kesalahan baris perintah ini "Pada baris PreExistingConfigException.php 65: Objek konfigurasi (field.storage.node.panelizer) yang disediakan oleh lightning_layout sudah ada dalam konfigurasi aktif" Jadi saya menggunakan Anda solusi demikian:drush config-delete field.storage.node.panelizer
dan kemudian dapat mengaktifkan kembali modul:drush en lightning_layout
Hal ini tidak didukung karena modul mungkin tidak menggantikan entitas konfigurasi yang sudah ada dengan menginstal konfigurasi.
Untuk menambahkan konfigurasi bentuk dan mode tampilan untuk jenis simpul yang sudah ada, Anda harus menerapkan ini dalam kode di hook_install ().
Atau Anda harus menghapus jenis simpul terlebih dahulu di situs Anda, tetapi kemudian Anda juga harus menghapus konten.
Dan tidak, ini bukan bug, ini adalah bagaimana ia didefinisikan untuk mencegah hilangnya konfigurasi.
sumber
Modul yang ditemukan, gunakan modul Easy Install untuk membersihkan konfigurasi aktif tanpa menggunakan devel atau drush . Ini berfungsi bahkan jika Anda telah melewatkan folder opsional dan opsi yang dipaksakan dalam file konfigurasi modul Anda ( yml )
sumber
Saya memiliki masalah yang sama untuk situs panteon. Saya memasukkan perintah drush
ini bekerja untuk saya.
sumber
Dengan
drush en
itu berhasil!EDIT: ada solusi yang lebih baik sekarang, lihat: Bagaimana cara menghapus objek konfigurasi dari konfigurasi aktif?
sumber
Jika Anda ingin menambahkan konfigurasi ke modul khusus Anda tetapi sudah ada di konfigurasi aktif, dan untuk beberapa alasan Anda tidak dapat menggunakan drush untuk menghapus konfigurasi tersebut (dalam kasus saya karena itu adalah bagian dari profil pemasangan), dan Anda yakin tidak akan ada masalah dengan Anda menimpa konfigurasi, inilah pendekatan untuk mengganti konfigurasi tersebut.
Tambahkan folder baru di modul khusus Anda, / config / hook_install dan tambahkan file confym .yml Anda di folder itu, kemudian di hook_install modul Anda.
sumber