ฉันจะปิดการใช้งานโมดูลผ่านทางส่วนต่อประสานผู้ดูแลระบบหรือผ่าน Drush ได้อย่างไร


10

ใน Drupal 7 มันเป็นไปได้ที่จะปิดการใช้งานโมดูลผ่านทางอินเตอร์เฟซผู้ดูแลระบบหรือผ่านทาง drush pm-disableDrush ใน Drupal 8 ช่องทำเครื่องหมายเป็นสีเทาในส่วนต่อประสานผู้ดูแลระบบและ Drush ไม่สามารถปิดการใช้งานผ่านการปิดการใช้งาน pm? ฉันจะปิดการใช้งานโมดูลใน Drupal 8 ด้วย Drush หรือผ่าน UI ของผู้ดูแลระบบได้อย่างไร หรือฉันต้องการ Drupal console สำหรับงานดังกล่าว

(ขออภัยในความสับสนที่เกิดจากการใช้คำว่า "โดยทางโปรแกรม" อย่างไม่เหมาะสมมันหมายถึงความหมายของ "ผ่านทางบรรทัดคำสั่ง")

คำตอบ:



10

เช่นเดียวกับอินเตอร์เฟซผู้ดูแลระบบในDrupal 8รัฐที่อยู่ในพื้นที่ข้อความกระบวนทัศน์และแนวคิดของวิธีโมดูลรับการติดตั้งและผู้พิการได้มีการเปลี่ยนแปลงใน Drupal 8 เนื่องจากมีปัญหาต่างๆที่เกี่ยวข้องในลักษณะเป็นอย่างไรก่อนเนื่องจากฐานข้อมูลพากย์ซ้าย และข้อมูลไม่สอดคล้องกันในขณะที่ปิดการใช้งานและเปิดใช้งานโมดูล ฯลฯ

ดังนั้นผู้ใช้ควรถอนการติดตั้งโมดูลแทนที่จะปิดใช้งานพวกเขาใน D8 นี่ไม่ได้หมายความว่าโมดูลจะหายไปหรือถูกลบออกจากรูทของ Drupal แต่โมดูลเหล่านั้นจะถูกลบออกจากฐานข้อมูลอย่างสมบูรณ์รวมถึงการกำหนดค่า

ลองdrush pm-uninstall module-nameแทนแล้วคุณจะเห็นผลที่ต้องการหลังจากนั้น

ช่องทำเครื่องหมายเป็นสีเทาเพื่อให้สามารถเปิดใช้งานและติดตั้งโมดูลที่ไม่ใช้งานตามวิธีที่ D7 รู้จัก แต่คุณไม่สามารถปิดใช้งานด้วยวิธีนี้ได้อีก และการถอนการติดตั้งไม่ควรทำโดยช่องทำเครื่องหมายเนื่องจากจะเป็นอันตราย

ดูสองครั้งในส่วนต่อประสานผู้ดูแลระบบ: คุณจะพบแท็บใหม่สำหรับการถอนการติดตั้งโมดูลด้วย


2
วิธีทำโดยทางโปรแกรมใน php (ตัวอย่างเช่น: ใน MODULE.install)
Guillaume Bois

คำตอบด้านล่างจะบอกวิธีการถอนการติดตั้งโมดูลโดยทางโปรแกรมไม่มีการปิดการใช้งานใน Drupal 8
Duncanmoo

คำถามนี้ควรถามในคำถามอื่น คำตอบด้านล่างไม่เกี่ยวข้องกับหัวข้อของคำถามในเว็บไซต์นี้
jbitdrop

@jbitdrop - มีจนกว่าคุณจะเปลี่ยนชื่อ
leymannx

3

เมื่อคำถามถามหาโปรแกรมและนั่นคือสาเหตุที่ฉันมาที่นี่ตั้งแต่แรกฉันจะเพิ่มข้อมูลโค้ดที่ใช้งานได้เพื่อวางไว้ภายในMYMODULE.install:

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

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

}

1
คำถามนี้ควรถามในคำถามอื่น คำตอบไม่เกี่ยวข้องกับหัวข้อของคำถามในเว็บไซต์นี้
jbitdrop

1
@jbitdrop - หลังจากที่คุณเปลี่ยนชื่อคำถามดูเหมือนว่าจะไม่พอดีอีกต่อไปใช่ ในโพสต์ของคุณคุณยังคงถามวิธีการปิดการใช้งานโมดูลโดยทางโปรแกรม
leymannx

คุณพูดถูก แต่ก็เป็นไปในทางตรงกันข้าม หลังจากอ่านคำตอบของคุณฉันรู้ว่าคำถามของฉันอาจเข้าใจผิดได้ (ขออภัยไม่ใช่ภาษาแม่) นั่นเป็นเหตุผลที่ฉันเปลี่ยนชื่อเพื่อให้ชัดเจน แต่อย่างที่คุณเห็นจากคำอธิบายของฉันใน D7 ฉันตามคำสั่ง Drush และสิ่งต่าง ๆ เช่นนั้นไม่ใช่วิธีการเตรียมโมดูลสำหรับการถอนการติดตั้งรูทีน ฉันขอโทษที่ทำให้เกิดความสับสน บางทีฉันควรถามคำถามที่เหมาะสมที่อื่นอีกครั้งและย้ายคำตอบของคุณไปที่นั่น :) (PS: ถ้าโปรแกรมเป็นคำที่ผิดฉันต้องเปลี่ยนมันในการโพสต์เกินไป)
jbitdrop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.