Bagaimana cara menonaktifkan modul melalui antarmuka admin atau melalui Drush?


10

Di Drupal 7 dimungkinkan untuk menonaktifkan modul melalui antarmuka admin atau melalui Drush drush pm-disable. Di Drupal 8 kotak centang berwarna abu-abu di antarmuka admin dan Drush tidak dapat menonaktifkannya melalui pm-disable? Bagaimana cara menonaktifkan modul di Drupal 8 dengan Drush atau melalui UI admin? Atau apakah saya perlu konsol Drupal untuk tugas seperti itu?

(Maaf atas kebingungan yang disebabkan oleh penggunaan kata "secara terprogram" secara keliru, itu merujuk pada arti "melalui baris perintah")

Jawaban:



10

Seperti antarmuka admin di negara bagian Drupal 8 di area pesan, paradigma dan konsep tentang bagaimana modul diinstal dan dinonaktifkan telah berubah di Drupal 8, karena ada banyak masalah yang terlibat dalam cara bagaimana sebelumnya, karena Database tersisa dan inkonsistensi data saat menonaktifkan dan mengaktifkan modul, dll.

Oleh karena itu pengguna lebih dianjurkan untuk menghapus modul daripada menonaktifkannya sekarang di D8. Ini tidak berarti modul hilang atau dihapus dari root Drupal, tetapi mereka sepenuhnya dihapus dari database termasuk konfigurasi mereka.

Coba drush pm-uninstall module-namesaja dan Anda akan melihat efek yang Anda inginkan.

Kotak centang berwarna abu-abu agar masih dapat mengaktifkan dan menginstal modul tidak aktif seperti yang diketahui dari D7. Tetapi Anda tidak dapat menonaktifkannya dengan cara ini lagi. Dan menghapus instalan tidak harus disediakan oleh kotak centang, karena ini akan berbahaya.

Cari dua kali di antarmuka admin: Anda juga akan menemukan tab baru untuk menghapus modul.


2
Cara melakukannya secara terprogram dalam php (misalnya: dalam MODULE.install)
Guillaume Bois

Jawaban di bawah ini memberi tahu Anda cara menghapus modul secara terprogram, tanpa menonaktifkan di Drupal 8.
Duncanmoo

Ini harus ditanyakan dalam pertanyaan lain. Jawaban di bawah ini tidak ada hubungannya dengan topik pertanyaan di situs ini.
jbitdrop

@ jbitdrop - Itu sampai Anda mengubah judul.
leymannx

3

Seperti pertanyaan yang diajukan secara terprogram dan itulah mengapa saya datang ke sini pada awalnya saya akan menambahkan potongan kode kerja untuk ditempatkan di dalam MYMODULE.install:

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

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

}

1
Ini harus ditanyakan dalam pertanyaan lain. Jawabannya tidak ada hubungannya dengan topik pertanyaan di situs ini.
jbitdrop

1
@ jbitdrop - Setelah Anda mengubah judul pertanyaan, sepertinya tidak cocok lagi, ya. Dalam posting Anda, Anda masih bertanya bagaimana cara menonaktifkan modul secara terprogram.
leymannx

Anda benar, tetapi justru sebaliknya. Setelah membaca jawaban Anda, saya menyadari bahwa pertanyaan saya mungkin salah dimengerti (maaf, bukan bahasa ibu). Itu sebabnya saya mengubah judul untuk membuatnya lebih jelas. Tapi seperti yang Anda lihat dari penjelasan saya di D7, saya mengikuti perintah Drush dan hal-hal seperti itu, bukan bagaimana menyiapkan modul untuk menghapus rutinitas. Saya minta maaf karena menyebabkan kebingungan. Mungkin saya harus menanyakan pertanyaan yang cocok di tempat lain lagi dan memindahkan jawaban Anda di sana :) (PS: Jika secara pemrograman adalah kata yang salah, saya harus menggantinya juga di pos)
jbitdrop
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.