Yönetici arayüzü veya Drush aracılığıyla modülleri nasıl devre dışı bırakabilirim?


10

Drupal 7'de modülleri yönetici arayüzü veya Drush ile devre dışı bırakmak mümkün oldu drush pm-disable. Drupal 8'de onay kutuları yönetici arayüzünde gri görünüyor ve Drush bunları pm-devre dışı bırakma yoluyla devre dışı bırakamıyor mu? Drupal 8'deki modülleri Drush ile veya yönetici kullanıcı arayüzü aracılığıyla nasıl devre dışı bırakabilirim? Yoksa bu tür görevler için Drupal konsoluna mı ihtiyacım var?

(Yanlışlıkla "programlı" kelimesinin kullanılmasından kaynaklanan karışıklık için özür dileriz, "komut satırı üzerinden" anlamını ifade ediyordu)

Yanıtlar:



10

Gibi yönetici arayüzünde de Drupal 8 ileti alanının paradigması ve konseptinde devletler modülleri yüklü olsun ve engelli nasıl gelmiştir değişti o Veritabanı üzerine gelmeleri sol nedeniyle, önce ne kadar yol dahil pek çok sorun vardı çünkü, Drupal 8'de modülleri devre dışı bırakıp etkinleştirirken veri tutarsızlıkları vb.

Bu nedenle, kullanıcıların modülleri şimdi D8'de devre dışı bırakmak yerine kaldırmaları önerilir . Bu, modüllerin Drupal kökünden kaybolduğu veya kaldırıldığı anlamına gelmez, ancak yapılandırmaları dahil olmak üzere veritabanından tamamen kaldırıldıkları anlamına gelmez.

drush pm-uninstall module-nameBunun yerine deneyin ve sonra istediğiniz efekti göreceksiniz.

Onay kutuları, etkin olmayan modülleri D7'den bilinen şekilde etkinleştirip takabilmek için gri renktedir. Ancak artık bu şekilde devre dışı bırakamazsınız. Ayrıca, tehlikeli olması nedeniyle kaldırma işlemleri onay kutuları tarafından sağlanmamalıdır.

Yönetici arayüzünde iki kez bakın: Modülleri kaldırmak için de yeni bir sekme bulacaksınız.


2
Bunu php programlı olarak nasıl yapılır (örneğin: bir MODULE.install içinde)
Guillaume Bois

Aşağıdaki cevap , modüllerin programlı olarak nasıl kaldırılacağını
açıklar

Bu başka bir soruda sorulmalıdır. Aşağıdaki cevabın bu sitedeki sorunun konusuyla ilgisi yoktur.
jbitdrop

@jbitdrop - Başlığı değiştirene kadar vardı.
leymannx

3

Soru programlı olarak sorduğu ve bu yüzden buraya ilk geldiğimde içine yerleştirilecek bir çalışma kodu snippet'i ekleyeceğim MYMODULE.install:

/**
 * Uninstall Field UI.
 */
function MYMODULE_update_8001(&$sandbox) {

  \Drupal::service('module_installer')->uninstall(['field_ui']);

}

1
Bu başka bir soruda sorulmalıdır. Cevabın, bu sitedeki sorunun konusuyla ilgisi yoktur.
jbitdrop

1
@jbitdrop - Soru başlığını değiştirdikten sonra artık uygun görünmüyor, evet. Yayınınızda modülleri programlı olarak nasıl devre dışı bırakabileceğinizi sorabilirsiniz.
leymannx

Haklısın, ama tam tersi oldu. Cevabınızı okuduktan sonra sorumun yanlış anlaşılabilir olduğunu fark ettim (üzgünüm, ana dili değil). Bu yüzden başlığı daha net hale getirmek için değiştirdim. Ancak D7'deki açıklamamdan da görebileceğiniz gibi, Drush komutunun ve bunun gibi şeylerin peşindeydim, kaldırma rutinleri için bir modülün nasıl hazırlanacağını değil. Karışıklık yarattığım için üzgünüm. Belki de uydurma soruyu tekrar başka bir yere sormalı ve cevabınızı oraya taşımalıyım :) (PS: Programlı olarak yanlış kelime ise, yazıda da değiştirmeliyim)
jbitdrop
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.