Drupal 8'de özel bir modül yapıyorum. Bazı YAML yapılandırma dosyalarını içeriyor.
Geliştikçe, yapılandırmamı değiştirmem ve eklemeliyim, örneğin özel varlığım üzerine başka bir alan eklemek için.
Şu anda Drupal’ın değişiklikleri fark etmesini sağlamanın tek yolu modülü kaldırmak ve yeniden kurmak.
Modüller tarafından sağlanan konfigürasyon dosyalarının aktif konfigürasyon ile aynı olup olmadığını kontrol etmek için Drupal'ı almanın bir yolu var mı? Modül güncellemeleri nasıl yapılır? D7'de hook_update_N
PHP kullanarak alan eklemek için kullanılır, ancak bunun D8'deki CM tarafından ele alınması gerektiği gibi görünüyor?
Modüldeki yml dosyalarını güncelledikten sonra denediklerim:
drush cr
yapılandırma senkronizasyonu.tüm güncellenmiş konfigürasyon dosyalarının elle kopyalanması
sites/default/files/config_XXX/staging/
- ancak bu şu hatayı veriyor: "Aşamalı konfigürasyon alınamaz çünkü bu siteden farklı bir siteden geliyor. Konfigürasyonu sadece bu sitenin klonlanmış örnekleri arasında senkronize edebilirsiniz." .config yöneticisini kullanarak dosyaları tek tek el ile almak. Bu işe yarıyor, ama belli ki daha otomatik bir yol olmalı.
[EDIT] değişiklikleri incelemek ve config modülüne 'geri dönmek' için config_update modülünü manuel olarak kullanın . Yine, bu manuel.
DÜZENLEME: Gönderen yapılandırmayı yönetme - yapılması ve yapılmaması gerekenler
YAPILMAMASI GEREKENLER
Bir modülün config / install dizinindeki dosyaları değiştirerek sitenizdeki aktif konfigürasyonu değiştirmeyi deneyin. Bu çalışmayacak çünkü Drupal sadece modül kurulduğunda bu dizinden okuyacak.
... ama orada değiştirir edilir gidiş modülleri onlar onların ilk serbest gerekli konfigürasyon dosyasında ne bağlı sürece gerçekleşmesi ve her zamankinden güncelleyebilir veya yapılandırma eklemek asla.
Şimdiden teşekkürler.
hook_update_N
varsayardım, ama ne olduğundan emin değilim
hook_update_N
. Drupal 8 hakkında küçük siteler için mükemmel bir makale (ve 2. bölüm ). D8'de "siteler kendi modüllerine değil kendilerine ait yapılandırmalara" sahiptir .